我试图想出一种方法来生成一个独特的iCloud ID,它将在各种设备上相同.我的应用程序将数据存储在一个在线数据库中,我希望将其绑定到iCloud ID.这提供了不必处理登录的良好用户体验(因为所有数据都与他们的iCloud帐户绑定),而不会被使用iCloud的糟糕同步.问题是,据我所知,没有API会给我这种ID.
我尝试/想过的事情:
1)NSUbiquitousKeyValueStore
不起作用,因为价值会"稍后"更新,即 - 只要苹果感觉像这样.
2)iCloud文档存储
与#1相同的问题,还有一个额外的好处,就是在设备中存储一个用户可以手动删除的随机文件
3)使用[[NSFileManager defaultManager] ubiquityIdentityToken]
因为Ubiquity Token的字节对于任何给定的登录会话都是相同的,我想象可能是跨设备的情况.不是这样的
4)使用地址簿联系人
似乎它不可靠(如果他们改变他们的主要电子邮件/电话号码/姓名会发生什么),加上第一次启动时会让用户烦恼/吓坏他人的副作用(他们怎么知道我没有窃取他们所有的联系人?)
5)滚动我自己的登录系统绑定到远程服务器
这似乎是唯一可用的选择,虽然我更喜欢更好的选择.
提前致谢