【发布时间】:2016-10-25 02:04:01
【问题描述】:
我有一个系统,每个用户只允许为两台设备安装应用程序。当用户在同一设备上再次卸载并重新安装时,就会发生此问题。所以它会生成新的 UUID 以及当应用程序检查到 Web 服务时。
应用程序将发送 UUID 和登录 ID,以检查具有该登录 ID 的用户是否安装在两个以上的设备上。我正在使用真正的 iPhone 和 iPad 设备,而不是使用模拟器。我不确定生产环境。目前,这些应用是通过 Apple TestFlight 使用 AppStore 分发配置文件分发的。
我使用这个生成 uuid
let uuid = UIDevice.currentDevice().identifierForVendor!.UUIDString
谢谢。
【问题讨论】:
-
这是
identifierForVendor的预期行为。它不是终生唯一的设备标识符。您可以将自己的值存储在钥匙串中,但您还应该为用户提供删除过时设备的工具;他们可能会因升级或保修更换而更换手机,或者只是擦除设备,这将清除钥匙串 -
谢谢@Paulw11。如果用户在两台设备上使用相同的 iCloud 帐户如何。两个设备在钥匙串中是否具有相同的设备 ID(唯一 ID)?
-
您可以选择是否将钥匙串项添加到 iCloud 钥匙串或将其保留在设备本地
-
@Paulw11 我明白了。保持本地的选项可以在代码中设置,或者取决于用户是否同步钥匙串?
-
它是在您创建钥匙串项时以编程方式设置的。默认情况下,它仅在设备本地