在iOS 5中,[[UIDevice currentDevice] uniqueIdentifier]
的使用已被弃用。我们现在鼓励使用自己生成的UUID并将它们存储在应用程序的NSDefaults中。我想这对于大多数用途来说都没问题。
但我的问题是 - 是否有可能以某种方式生成UUID,其行为与现在的设备ID相似 - 即使在删除并重新安装应用程序后,我仍希望保持相同。这样做的目的是帮助跟踪从iPhone获取的可能的欺诈尝试。
我想知道是否使用MAC地址,就像这个类别:https://github.com/erica/uidevice-extension/blob/master/UIDevice-Hardware.m一样好吗?
答案 0 :(得分:2)
文档中对uniqueIdentifier属性的讨论说明:
不要使用uniqueIdentifier属性。创造一个独特的 特定于您的应用的标识符,您可以调用CFUUIDCreate 函数创建一个UUID,并使用它将其写入默认数据库 NSUserDefaults类。
将其写入用户默认值应该确保在删除/重新安装应用程序时保留它我会想到。
编辑:
对不起,they are not kept when an application is removed显然。 documentation描述了如何生成UUID,但我无法确定它对于给定的用户/设备是否是常量。我看到有些人建议使用keychain来通过删除/重新安装来保持持久性,但不知道它是多么值得推荐(在任何情况下,用户都可以删除条目)。 / p>
答案 1 :(得分:0)
使用Apple描述的方法(由jbat指出的方法)创建自己的UUID,将其存储在NSUserDefaults中。
使用iCloud,您可以使用键值存储来帮助将此UUID“持久”保存到特定用户,安装和不同设备之间。