iOS设备特定的唯一标识符

时间:2017-11-09 18:42:21

标签: ios swift keychain

有没有办法为IOS设备生成唯一ID?

我有一个框架可以帮助应用程序从中获取登录令牌,我使用identifierForVendor没有问题,因为所有消费者应用程序都是从同一供应商发布的,但我想从不同的发布者添加另一个应用程序并将该应用程序添加到链,identifierForVendor不再工作了,

此外,我不能使用钥匙串,因为他们使用的是不同的团队ID,

所以,如果还有其他办法可以告诉我吗?

3 个答案:

答案 0 :(得分:1)

如果我没弄错,Apple已撤销对真实设备标识符(UDID)的访问权限,而是提供伪标识符以限制其恶意使用。

请参阅上一个答案https://stackoverflow.com/a/19402414/28305

答案 1 :(得分:0)

UDID不再可用,因此您可以使用

UIDevice.currentDevice().identifierForVendor?.UUIDString

更多here

或者您可以使用iOS 11中提供的DeviceCheck framework

只需在Apple Developer帐户中创建一个新密钥,然后使用

生成一个令牌
DCDevice.current.generateToken(completionHandler:)

注意:您必须仅使用真实设备接收令牌。

你可以找到好的教程here

答案 2 :(得分:0)

简短回答:不是因为数据隐私问题(至少在官方声明中)。

Apple阻止访问'标识符'例如UDID和MAC地址等硬件数据。即使目前有这样的领域,一旦被一定数量的人利用,它将很快被删除或混淆。

唯一可能有效的方法是尝试获取当前设备的browser fingerprint