在我们的应用程序中,用户验证基于序列号。似乎在ios 8中无法获取序列号。是否有其他方式?
提前致谢。
答案 0 :(得分:2)
Apple不推荐访问每个设备唯一的UUID(从iOS 6开始称为uniqueIdentifier
。从iOS 7开始,他们还阻止访问MAC查询地址和其他类型的唯一标识符。在iOS 6和今天之间,他们开始拒绝任何访问此属性的应用程序。
有两个替代API可能有所帮助:UIDevice
上有identifierForVendor
,在您的应用中一致。还有一个完整的框架AdSupport
,其职责是提供可用于广告网络的标识符。此标识符具有人们可以随时更改的限制,因此您不能依赖它在多次启动时保持一致。
Apple试图传递的提示是“你不能始终如一地在多个不属于你自己的应用中识别每台设备的用户”。
答案 1 :(得分:0)
除了zadr优秀的解释之外,我不想将iCloud作为另一种可能的解决方案:
只需在iCloud中存储一个值(作为文件或键值)。这种方法的唯一缺点是,如果您的应用尚未使用iCloud,则必须将iCloud权利添加到您的应用中。另一方面,有一些优点
AdSupport
必需的其他Frameworsk 当然,在某些情况下,这可能有点过头了,但在其他情况下,这可能是一个方便的解决方案。
答案 2 :(得分:0)
我建议使用如上所述的uniqueIdentifier,但保存在keychain中。这种方式可以随时可靠地使用,并可用于跟踪用户。