iOS硬件参数用于唯一标识生成

3

嗨,我想要使用设备硬件参数为iOS设备生成一个唯一的ID。我不想使用MAC地址,因为有机会更改MAC地址。所以请问是否有其他唯一的硬件参数可以生成唯一的ID。

1个回答

1

我相信类似于this的东西是普遍接受的UUID替代品。

简而言之,您需要创建一个CFUUID,然后将其存储在iOS设备上的Keychain中,即使您卸载了应用程序,它也会持久存在。我自己编写了这样的实现(显然不是我链接的那个),但我还没有遇到任何真正的问题。甚至可以在您制作的其他应用程序中访问它,只要您在所有应用程序中使用相同的安全参数。


谢谢Crimson,这是非常有用的信息。但是CFUUID使用的是MAC地址,而MAC地址是可以更改的。是否有其他设备参数可用,以便我可以编写自己的逻辑来生成ID呢? - Phaniteja
你无法绝对保证用户跟踪,因为苹果已经移除了UUID。在创建CFUUID时,使用了MAC地址,但这不是唯一的标识。如果你创建了一个CFUUID,然后第二天再次创建,它将会不同。CFUUID的整个意义在于你可以创建它,然后将其存储在钥匙串中。当你需要它时,从钥匙串中取出即可。钥匙串甚至在重新安装后仍然存在,所以这是你能得到的最好的结果。 - CrimsonDiego
那么在钥匙串中保存数据是安全的吗? - Phaniteja
是的。钥匙串是一个专门设计用于存储敏感数据的持久空间。 - CrimsonDiego

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接