总结:
安装在支持 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”>“文档和数据”中禁用“使用蜂窝数据”,则 iCloud 同步将不起作用。
注意事项:
此外,通知 NSUbiquitousKeyValueStoreDidChangeExternallyNotification 从未触发选择器集,除非在“设置”>“iCloud”>“文档和数据”中启用了“使用蜂窝数据”。
谁能重现相同的行为?
有人可以让 iCloud 同步与在“设置”>“iCloud”>“文档和数据”中禁用的“使用蜂窝数据”一起使用吗?
提前致谢!
Best Answer-推荐答案 strong>
iCloud 键值存储 不可靠,如 iCloud Design Guide 中所述.
由于键值存储限制,数据传播可能会延迟。
来自“首选项和设置”指南:
“键值存储是用来存储不经常更改的数据。如果设备上的应用程序对键值存储进行频繁更改,系统可能会延迟一些更改的同步以最小化到服务器的往返次数。应用程序进行更改的频率越高,以后的更改就越有可能被推迟并且不会立即显示在其他设备上。"
有时,由于这种 KVS 限制,即使 Documents & Data 选项和 Use Cellular Data 选项都不会触发 NSUbiquitousKeyValueStoreDidChangeExternallyNotification 已启用。
这可能是你的问题。
如果没有,您应该等待 Apple 工作人员回复您的错误报告。 (我想您已经报告了一个错误,因为您的问题是 Apple 错误报告格式。)
关于iphone - iCloud 同步不适用于 iPhone 4S 和 5 上的应用程序,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/15408515/
|