限制设备数量vs UIDevice.current.identifierForVendor



我是一名初级专业软件开发人员。我正在使用每个用户的设备限制应用程序,我们使用UIDevice.current.identifierForVendor来识别设备。不幸的是,我们遇到了"设备限制已达"的问题。当安装和重新安装应用程序。

根据identifierForVendor文档:

该属性的值在应用程序(或其他应用程序)运行时保持不变应用程序从同一供应商)安装在iOS设备上。的值当用户删除该供应商的所有应用程序时,会发生变化设备,然后重新安装其中一个或多个。

问题很明显-在应用程序被删除并重新安装后,我们有一个新的identifierForVendor,我们把它当作一个新的设备。

根据文档的另一部分:

正常情况下,供应商为由App Store提供的数据决定。如果应用程序不是从应用商店安装(如企业应用和应用仍然)在开发中),那么供应商标识符将基于app的bundle ID。

我有两个问题:

  1. 问题发生时,我们从Xcode或TestFlight安装应用程序。当我们从AppStore安装应用程序时,它是否也会出现?
  2. 是否有其他方法来限制设备数量和确定设备?

p。我知道,已经有一些类似的问题,但在我看来,答案并不详尽,而且这是几年前的事了:)

您可以尝试使用Keychain:

  1. 生成UUID().uuidString
  2. 将其保存到Keychain与一些Keychain包装(例如KeychainAccess)使用key "UniqueDeveiceID"什么的。
  3. 发送生成的UUID到服务器(或其他)

总结:应用程序启动后,只需检查键UniqueDeveiceID存在的值。钥匙扣在重新安装后没有清洗,所以你必须有机会检查它是重新安装还是新注册的设备。

相关内容

  • 没有找到相关文章

最新更新