我正在尝试让ZSync在桌面和iPhone应用之间工作。我已经设置了我的模式,并且我的MOM和模式之间的所有信息都匹配,所以我应该好好去。但是,当我启动同步时,我收到此错误。
|杂项|错误| SyncServices [ISyncSession中的前提条件失败 _validateClient:entityNames:beforeDate:clientHasTruthForEntityNames:目标:选择:]: 没有指定实体
任何人都知道这意味着什么,以及如何调试它? 我是这个SyncServices的新手。 干杯!
好的,我已经在syncrospector中显示了它,但仍然收到无法识别的错误。 你在守护进程中的客户端描述是什么意思错了? 感谢。
好吧,我让clientDescription正常工作,但现在当它触发时:
ZAssert([[ISyncManager sharedManager] registerSchemaWithBundlePath:路径], @“无法注册同步模式”);
我收到此错误:(
[注意:这个例外起源于 服务器。] *** - [NSCFArray insertObject:atIndex:]:尝试 插入
答案 0 :(得分:0)
这是您的同步服务设置中的问题。这意味着您尚未声明需要同步的实体。我建议将您的SyncSchema子项目(对于您的桌面应用程序端)与SampleDesktop项目中包含的子项目进行比较。
我检查了所有这些,但无济于事。我正在使用一个版本化的妈妈,会有所作为吗?在我的ManagedObjectModels中,我应该使用版本或集合的名称吗? (妈妈还是妈妈?)谢谢,我快到了!
不,架构应该指向您的最新型号。你确定它正确地指向它吗?这可能是最棘手的一点。您是在模式包中包含模型还是在引用模型?
首先,请将这些更新放入您的问题中,评论部分真的不适合他们。
好吧,克服了这个问题。同步开始现在我得到“无法注册客户端因为:名为Xmac的客户端想要同步无法识别的实体名为:X.Entity”这种情况发生在所有我的实体上,遗憾的是。
此错误表示您的同步架构仍然无法完全有效。您的桌面客户端是否同步?
你能在同步控制器中看到它的数据吗?
如果是这样,那么守护进程中的客户端描述是错误的。如果它没有同步,那么首先解决它,因为它听起来像你的SyncSchema包仍然是不正确的。我建议尝试将它与项目中包含的sampleDesktop应用程序进行比较。
好的,我已经在syncrospector中显示了它,但仍然收到无法识别的错误。你在守护进程中的客户端描述是什么意思错了?感谢。
在同步控制器中,我猜你看到了所有的实体和数据?
在守护程序上,有一个clientDescription.plist。此plist描述守护程序将与哪些数据同步。该plist需要更新(因为默认值是指样本应用程序等),以引用您的数据结构,就像桌面应用程序一样。
在不久的将来,这篇文章将被移动到一个插件中,这样你就不会直接修改守护进程了。预计在接下来的几周内会看到项目本身的更新。但是现在,(并且可以重复使用),修改守护进程内部的plist,你应该准备好同步了。
该行解开:
BOOL success = [[ISyncManager sharedManager] registerSchemaWithBundlePath:path];
NSAssert(success, @"Failed to register sync schema");
有些事情可能导致这种情况:
您还看到了哪些其他调试评论?