iOS 和 iCloud:ubiquityIdentityToken 和密码更改或设备恢复

Posted

技术标签:

【中文标题】iOS 和 iCloud:ubiquityIdentityToken 和密码更改或设备恢复【英文标题】:iOS & iCloud: ubiquityIdentityToken and password change or device restores 【发布时间】:2013-09-17 08:42:25 【问题描述】:

我的客户最近收到了来自客户的电子邮件,他们报告了在每次应用启动时检查 iCloud 通用令牌的应用存在以下问题 ([[NSFileManager defaultManager] ubiquityIdentityToken];):

当设备从备份中恢复时,应用程序有时会检测到当前令牌和之前令牌不匹配。从备份恢复时ubiquityIdentityToken 是否会改变? 在一种情况下,用户获得了新设备,更改了 iCloud 密码并从备份中恢复了设备。应用程序检测到令牌不匹配。更改 iCloud 密码时,ubiquityIdentityToken 是否会更改?

【问题讨论】:

【参考方案1】:

我看到ubiquityIdentityToken 在您将备份恢复到新设备时肯定会发生变化 - 例如将旧设备备份复制到新设备时。

这种行为似乎没有记录在案 - 我猜它在文档中报告为返回 '不透明令牌' 意味着这是根据某种设备的组合计算的UUID 和 iCloud 帐户 UUID - 因此当设备更改时令牌会更改。要么是这样,要么在擦除和恢复设备时不会保留设备 UUID,而是计算一个新的。

【讨论】:

【参考方案2】:

我已经开始研究这个领域并且找不到太多信息,因为它被 Apple 描述为“不透明的令牌”,所以我会记下我所观察到的内容,以防它对任何人有所帮助,

令牌是一系列 40 个 8 位十六进制数字组。这些数字组中的大多数都不会改变。

从不同的应用程序、不同的设备或使用不同的 iCloud 帐户请求令牌,第 17 到第 22 个数字组的值完全不同。

其余数字保持不变,即使在不相关用户的设备上也是如此。

我只发现了一个例外——来自他们遇到同步问题的客户端设备。在那种情况下,超过一半的数字是不同的。我正在调查为什么会出现这种情况。

【讨论】:

以上是关于iOS 和 iCloud:ubiquityIdentityToken 和密码更改或设备恢复的主要内容,如果未能解决你的问题,请参考以下文章

iOS 和 iCloud:ubiquityIdentityToken 和密码更改或设备恢复

iOS 是不是允许本地日历和 iCloud 共存?

iOS、Core Data 和 iCloud - 切换上下文

iOS 7 iCloud 和(启用/禁用)Core Data - 永无止境的故事

iOS选取相册中iCloud云上图片和视频的处理

icloud ubiquity token 在 ios 8 和 ios 9 上不是 nil