为什么相同的iCloud帐户,但得到不同的ubiquityIdentityToken



我正在尝试实现具有iCloud Key-value存储功能的应用程序。

目前,我正在两台设备上进行测试,iPhone5s带有iOS7.0.4和iPhone4具有iOS6.1.1. 你们知道为什么同一个iCloud account(从"设置"-> iCloud->帐户中检查)会得到两个不同的ubiquityIdentityToken吗?我想这就是数据没有在这两个设备(网络访问)之间同步的原因。

在iOS6上,NSUbiquitousKeyValueStoreDidChangeExternallyNotification不会跳闸。

提前感谢!

ubiquityIdentityToken仅用于:

  • 确定 iCloud 是否可用于您的应用。
  • 确定iCloud帐户是否已更改(通过与以前保存的值进行比较)。

它是不透明的,但符合一些协议。您可以将其保存在本地并将当前值与以前的值进行比较,但这就是它的全部好处。它不能保证在任何其他情况下都很有用。

不能保证在不同的设备上是相同的,即使这些设备使用相同的iCloud帐户也是如此。为什么它可能不同没有记录 - 它可能会以某种方式编码特定于设备的值。无论如何,它不是您可以从一台设备转移到另一台设备并期望仍然有用的东西。这不是它的设计方式。

它会在令牌中对特定于设备的值进行编码。位置 17 和 22 之间的 8 位十六进制数字组在不同的设备上或使用不同的 iCloud 帐户会发生变化。

其余组通常保持不变,跨不同的应用程序、设备或 iCloud 帐户。

这是奇怪的行为。在这些情况下,Apple 通常建议在两台设备上注销并重新登录(使用相同的 Apple ID)。试试看,看看是否有帮助。此外,请确保在每台设备上安装最新版本的应用程序(启用了iCloud)。

相关内容

  • 没有找到相关文章

最新更新