iCloud同步不适用于iPhone 4S和5上的应用程序

时间:2013-03-14 11:53:10

标签: iphone ios icloud nsubiquitouskeyvaluestore

要点:

在支持iCloud同步的iOS(iPhone 4S或iPhone 5上测试)上安装的应用程序实际上与iCloud不同步。 iOS版本是6.1.2。

我们正在开发一个应用程序并添加了iCloud支持。配置配置文件已在启用iCloud的情况下重新创建并存储在设备上。权限已在xcode中正确配置,以使用iCloud和键值存储(标识符的值设置为默认值)。我们按照Apple的iCloud设计指南教程实现了与iCloud同步的功能(使用NSUbiquitousKeyValueStore类来存储和读取值)。

重现步骤:

在iPhone 4S或5(安装了iOS 6.1.2)上使用支持iCloud的应用程序(在开发模式或从App Store安装的应用程序)。转到设置> iCloud>文件&数据和文件&启用数据并禁用“使用蜂窝数据”。尝试将应用程序与iCloud一起使用。数据不会在设备之间同步。我们还尝试了如下操作:运行应用程序,将值存储到iCloud,删除应用程序,再次安装应用程序,运行应用程序,无法从iCloud中重新获取值。

关闭iPhone并重新打开。 转到设置> iCloud>文件&数据和启用使用蜂窝数据。

现在运行启用了iCloud的应用程序,并将值存储在iCloud中。该值与iCloud同步......一切正常。

预期结果:

如果禁用使用蜂窝数据并且文档&设置>中启用了数据iCloud>文件&数据

实际结果:

如果在“设置”中禁用了“使用移动数据”,则iCloud同步将无效。 iCloud>文件&数据

备注:

此外,通知NSUbiquitousKeyValueStoreDidChangeExternallyNotification从未触发选择器集unles在设置>中启用了使用蜂窝数据iCloud>文件&数据

有人可以重现相同的行为吗? 有人可以让iCloud同步以便在设置>中禁用使用移动电话数据iCloud>文件&数据

提前致谢!

1 个答案:

答案 0 :(得分:1)

iCloud密钥值存储不可靠,因为它在iCloud Design Guide中表示。

由于Key Value Storage限制,数据传播可能会延迟。

来自“偏好设置”指南:

“键值存储区用于存储不经常更改的数据。如果设备上的应用程序频繁更改键值存储,系统可能会推迟某些更改的同步,以便最小化到服务器的往返次数。应用程序进行更改的频率越高,后续更改就越有可能延迟,并且不会立即显示在其他设备上。“

有时,由于这种KVS限制,NSUbiquitousKeyValueStoreDidChangeExternallyNotification不会触发,即使两者都是文件& 选项和使用移动数据选项已启用。

这可能是你的问题。

如果没有,您应该等待Apple员工回复您的错误报告。 (我想您已经报告了一个错误,因为您的问题是Apple Bug报告格式。)