我正在尝试找出一种方法来生成一个唯一的 iCloud ID,该 ID 在设备上都是相同的。我的应用程序将数据存储在我想绑定到 iCloud id 的在线数据库中。这提供了无需处理登录的良好用户体验(因为所有数据都与他们的 iCloud 帐户相关联),而不会被 iCloud 糟糕的同步卡住。问题是,据我所知,没有任何 API 可以为我提供这种 ID。
我尝试过/想过的事情:
1) NSUbiquitousKeyValueStore
不起作用,因为该值将在“稍后”更新,即 - 只要 Apple 喜欢它。
2) iCloud 文档存储
与 #1 相同的问题,额外的好处是在设备中存储了一个用户可以手动删除的随机文件
3) 使用 [[NSFileManager defaultManager] ubiquityIdentityToken]
因为对于任何给定的登录会话,Ubiquity 令牌的字节都是相同的,我想可能是跨设备的情况。不是这样
4) 使用通讯录联系人
似乎它是不可靠的(如果他们更改他们的主要电子邮件/电话号码/姓名会发生什么),而且在首次启动时会产生烦人/吓坏用户的副作用(他们怎么知道我没有窃取他们所有的联系人?)
5) 滚动绑定到远程服务器的我自己的登录系统
这似乎是唯一可用的选择,尽管我更喜欢更好的选择。
提前致谢