ios – NSUbiquitousKeyValueStore同步问题

ios – NSUbiquitousKeyValueStore同步问题,第1张

概述我只有NSUbiquitousKeyValueStore的麻烦,并让它可以在两个设备之间可靠地同步.它开始让我发疯.狂. 我看着我的代码打电话给: [[NSUbiquitousKeyValueStore defaultStore] setObject:_someData forKey:@"SomeData"];[[NSUbiquitousKeyValueStore defaultStore] s 我只有NSUbiquitouskeyvalueStore的麻烦,并让它可以在两个设备之间可靠地同步.它开始让我发疯.狂.

我看着我的代码打电话给:

[[NSUbiquitouskeyvalueStore defaultStore] setobject:_someData forKey:@"SomeData"];[[NSUbiquitouskeyvalueStore defaultStore] synchronize];

但有时候,数据永远不会出现在其他设备上.

我已经看到它在几秒钟内同步,其他时间我等了一个小时,从未见过同步.我将设备插入xcode并开始调试,有时数据会突然d出,有时则不会.有时确实如此.

进行此调用后,退出并重新启动应用程序,如果我读取它,我会看到旧数据,而不是我认为刚发布的新数据.在同一台设备上.

当应用程序启动时,我打电话给:

_someData = [[NSUbiquitouskeyvalueStore defaultStore] stringForKey:@"SomeData"];

我假设没有需要运行的初始化代码.没有我发现的例子.

当它工作时,它运作良好.

然后今晚我正在查看设备日志,并在我上次退出后发现这个(并尝试发送数据):

Jul  8 21:32:03 unkNown syncdefaultsd[17296] <Warning>: Error writing storage for com.mycompany.myapp to /private/var/mobile/Applications/4AC8C56E-6060-408B-84F9-F7EC336221D9/library/SyncedPreferences/com.mycompany.myapp.pList: Error Domain=NSCocoaErrorDomain Code=4 "The operation Couldn’t be completed. (Cocoa error 4.)" UserInfo=0xde80d40 {NSfilePath=/private/var/mobile/Applications/4AC8C56E-6060-408B-84F9-F7EC336221D9/library/SyncedPreferences,NSUnderlyingError=0xde80b20"The operation Couldn’t becompleted. No such file or directory"}

该路径不是来自我的Apps沙箱的有效路径(错误的GUID),所以我想知道这是否是我的问题的根源.我在开发过程中删除并重新安装了很多应用程序,所以我想知道是否有一些旧的路径缓存在某个地方并且它正在尝试同步这些数据.有没有办法清除它?

我知道我的所有权利都已正确设置,因为它确实有效.

[[NSUbiquitouskeyvalueStore defaultStore] synchronize]返回YES.

有没有其他人看到过这个问题或那个错误?当我的应用程序启动以及将数据发送到云时,我还需要做些什么吗?根据文档和示例,它似乎很容易.

解决方法 iCloud键值存储不适用于需要定期频繁同步的数据,而Apple似乎并不保证这些 *** 作的及时性. Apple states:

The key-value store is intended for storing data that changes infrequently. If the apps on a device make frequent changes to the key-value store,the system may defer the synchronization of some changes in order to minimize the number of round trips to the server. The more frequently apps make changes,the more likely it is that later changes will be deferred and not show up on other devices right away.

如果您的应用程序没有立即同步,并且您对此感兴趣是为了加快测试/调试,那么除非您改变您的技术,否则这似乎是必要的挫败感.

总结

以上是内存溢出为你收集整理的ios – NSUbiquitousKeyValueStore同步问题全部内容,希望文章能够帮你解决ios – NSUbiquitousKeyValueStore同步问题所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1038278.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存