我的iOS应用程序需要唯一标识每个设备,以便它能够以尽可能少的用户交互检索已上传到服务器的文件(IE我们不希望用户必须拥有用户名和密码)。随着iOS5的发布,苹果已经弃用了UDID,这是最简单的方法。另一种方法是在设备上生成并存储标识符,并且每次都从那里读取标识符。但是,苹果可以随时删除文件,因为他们觉得设备上没有足够的可用空间。
有没有办法在本地文件系统上存储设备标识符,而不必担心苹果“清理”它?
或者如果没有,我将如何为一个设备生成一个设备标识符,无论我生成多少次但仍然与其他标识符不同?
答案 0 :(得分:1)
您可以使用无线网卡的MAC地址作为唯一标识符。
此外,Documents目录中的任何文件都不会被苹果擦除,并将通过iCloud进行同步。 Apple表示所有生成的内容都不应该进入Documents目录(至少如果可以重新生成)。
要获取MAC地址,我使用了以下帖子中的代码:How can I programmatically get the MAC address of an iphone。