有没有办法为IOS设备生成唯一ID?
我有一个框架,可以帮助应用程序从中获取登录令牌,我使用identifierForVendor没有问题,因为所有消费者应用程序都是从同一供应商发布的,但我想从不同的发布者添加另一个,并将该应用程序添加到链,identifierForVendor不再是工作,
我也不能使用钥匙串,因为他们使用不同的团队ID,
所以,如果还有其他办法可以告诉我吗?
如果我没有弄错,Apple已撤销对真实设备标识符(UDID)的访问权限,而是提供伪标识符以限制其恶意使用 .
请参阅前一个答案https://stackoverflow.com/a/19402414/28305 .
UDID不再可用,因此您可以使用
UIDevice.currentDevice().identifierForVendor?.UUIDString
更多here
或者您可以使用iOS 11中提供的DeviceCheck framework
只需在Apple Developer帐户中创建一个新密钥并生成一个令牌
DCDevice.current.generateToken(completionHandler:)
注意:您必须仅使用真实设备来接收令牌 .
你可以找到很好的教程here
简短回答:不是因为数据隐私问题(至少在官方声明中) .
Apple阻止访问“标识符”,如UDID和MAC地址等硬件数据 . 即使目前存在诸如字段之外,只要它被一定数量的人利用,它将很快被删除或混淆 .
唯一可能工作一段时间的是尝试获取当前设备的browser fingerprint .
3 回答
如果我没有弄错,Apple已撤销对真实设备标识符(UDID)的访问权限,而是提供伪标识符以限制其恶意使用 .
请参阅前一个答案https://stackoverflow.com/a/19402414/28305 .
UDID不再可用,因此您可以使用
更多here
或者您可以使用iOS 11中提供的DeviceCheck framework
只需在Apple Developer帐户中创建一个新密钥并生成一个令牌
注意:您必须仅使用真实设备来接收令牌 .
你可以找到很好的教程here
简短回答:不是因为数据隐私问题(至少在官方声明中) .
Apple阻止访问“标识符”,如UDID和MAC地址等硬件数据 . 即使目前存在诸如字段之外,只要它被一定数量的人利用,它将很快被删除或混淆 .
唯一可能工作一段时间的是尝试获取当前设备的browser fingerprint .