在uniqueIdentifier被弃用之前,即使删除应用程序甚至擦除iPhone,使用相同的标识符也是好的。之后,我使用MAC地址,在iOS 7之前也可以正常工作,但是在iOS 7中它会给出2c:00:00:00:00:00。因此,我找不到任何方法来获取唯一标识符。
标识符ForVender:如果我删除了同一供应商的所有应用程序,则会给出不同的标识符。
MAC地址:在iOS 7上无法正常工作。
请告诉我如何获得唯一值,即使删除应用程序甚至擦除iPhone(如恢复出厂设置)
在uniqueIdentifier被弃用之前,即使删除应用程序甚至擦除iPhone,使用相同的标识符也是好的。之后,我使用MAC地址,在iOS 7之前也可以正常工作,但是在iOS 7中它会给出2c:00:00:00:00:00。因此,我找不到任何方法来获取唯一标识符。
标识符ForVender:如果我删除了同一供应商的所有应用程序,则会给出不同的标识符。
MAC地址:在iOS 7上无法正常工作。
请告诉我如何获得唯一值,即使删除应用程序甚至擦除iPhone(如恢复出厂设置)
编辑 3
在钥匙串中存储UUID似乎是解决这个问题的通用解决方案。这里 可以解决iOS7的问题。
编辑 2
注意:此iOS 7解决方案不再有用,因为uniqueIdentifier在iOS 7中不再可用。
所有可能性和不同的ID维护在此处解释。
有关更多详细信息,请访问此链接。
编辑 1
这是旧方法,但如果您需要系统重置后保留ID,则应查看此内容。这可能会帮助您。
我想让您查看这个受欢迎的链接
1)MAC + CFBundleIdentifier的MD5
[[UIDevice currentDevice] uniqueDeviceIdentifier]
这个值对于每个应用程序都是相同的,但是对于每个应用程序都是不同的。如果您删除并重新安装应用程序,则每个应用程序将保持不变。如果您重置系统,则每个应用程序将保持不变。
2) MAC地址的MD5值
[[UIDevice currentDevice] uniqueGlobalDeviceIdentifier]
同一设备上的所有应用程序都将保持不变。如果您删除并重新安装应用程序,则每个设备都将相同。如果您重置系统,则每个设备都将相同。
要实现这个目标,几乎唯一的方法是自己生成一个随机ID(例如UUID)并将其存储在iOS钥匙串中。
当应用程序被卸载时,钥匙串不会被清除,因此您仍然可以在重新安装后读取该值。
其他更直接的持久性ID机制已被Apple阻止或禁止使用。
我找到了答案。我想要一个唯一的ID,无论是删除还是擦除iPhone,它都将保持相同。我使用设备的序列号,因此我可以始终获得唯一值。
有一个UIDevice
类别。