iCloud和Core Data - 如何调试?

5
我有一个类图书馆的应用程序,它使用Core Data来存储数据。目前我正在处理iCloud支持的集成问题。
我已经学习了几个例子和苹果文档,最终成功实现一个在设备A上创建的对象可以自动同步到设备B上。
这很棒,但是我现在遇到了一些问题:有些对象被同步而其他对象没有,我不知道如何调试。是否有一种方法“查看”哪些数据传输到iCloud、哪些数据存储在云中以及哪些数据从iCloud下载?
目前我所见到的只是,我创建了一些NSManagedObject并将其存储到ManagedContext/PersistentStore中。我无法看到它是否传输到云中,也无法看到云的当前内容。这使得整个过程无法调试。
那么如何调试iCloud呢?
2015年06月02日更新: 我之前提出了这个问题,但是它仍然收到了一些赞或收藏。因此,我想分享一些我期间获得的信息:
不要使用iCloud! 我不能告诉你因为iCloud我有多少头疼和失眠的夜晚。它根本不值得。至少在使用Core Data时不值得。它就是不可靠的。即使是现在使用iCloud Drive依然如此。我的应用程序“支持”iCloud大约两年了,我尽一切可能让它运行。每次它似乎运行良好时,我就会收到用户的新错误消息。对于许多用户来说它工作得很好,但对于许多其他人来说它会出现问题甚至崩溃。这太可怕了。请自行使用任何其他同步服务。

你推荐哪个同步服务?我的应用程序需要支持美国和中国,因此Parse.com和Dropbox都不可行...但我不确定自己建立服务器是否有意义。另外,您使用某些同步框架还是编写自己的框架?谢谢! - hyouuu
1
我认为并没有一种适用于所有项目的最佳解决方案。它完全取决于您的要求。在我的情况下,Dropbox 是正确的解决方案。 - Andrei Herford
谢谢!您是从零开始编写同步机制吗? - hyouuu
1
我放弃了使用CoreData,转而使用SQLite解决方案。在任何情况下这可能都不是一个好主意,但当开发不同平台时,这对我来说是正确的方式。然后使用Dropbox作为跨不同设备的共享文件夹。每个设备都会检查Dropbox中是否有数据库副本可用。然后下载该副本并与本地数据库同步。结果将上传回Dropbox,下一个设备可以找到它。这个解决方案实际上可以与任何在线存储一起使用,不仅限于Dropbox。 - Andrei Herford
感谢分享细节!是的,我能看到它只适用于小数据存储,因为每次都要替换整个数据库 :) - hyouuu
显示剩余2条评论
2个回答

6

1

谢谢你的提示。这个工具看起来很有前途!这可能有助于查看设备和iCloud之间的通信,并找到通信问题。但是,如果数据似乎已正确传输到iCloud,但另一个设备没有收到有关该新数据的任何消息怎么办?有没有办法查看云中实际上有什么?我担心答案是否定的,但我不确定。 - Andrei Herford
我自己也不清楚如何在iCloud内部进行跟踪。我也认为答案是否定的。 - Olaf

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接