我试图让ZSync在桌面和iPhone应用程序之间工作。我已经设置了我的模式,并且我的妈妈和我的模式之间的所有信息都匹配,所以我应该做得很好。但是,当我启动同步时,我会得到这个错误。
未指定实体的_validateClient:entityNames:beforeDate:clientHasTruthForEntityNames:target:selector::中的
/ SyncServices先决条件故障
谁知道这意味着什么,以及如何调试它?我是SyncServices的新手。干杯!
更新
好的,我已经把它显示在同步器里了,但是仍然有一个不被识别的错误。你说我在“守护进程”上的客户描述是错的是什么意思?谢谢。
更新
好吧,我让clientDescription开始工作了,但是现在当它启动时:
ZAssert([ISyncManager sharedManager registerSchemaWithBundlePath:path],@“未能注册同步模式”);
我得到了一个错误:
注意:此异常起源于服务器。* -NSCFArray插入对象:atIndex::尝试插入零
发布于 2010-03-24 14:35:35
这是同步服务设置中的一个问题。这意味着您还没有声明哪些实体需要同步。我建议将您的SyncSchema子项目(用于桌面应用程序端)与包含在SampleDesktop项目中的项目进行比较。
更新
,我检查了所有这些,但没有结果。我用的是一个有版本的妈妈,这会有什么不同吗?在我的ManagedObjectModels中,我应该使用版本的名称还是集合的名称?(妈妈还是妈妈?)谢谢,我快到了!
不,架构应该指向您的最新型号。你确定它是正确指向它的吗?这可能是最棘手的一点。您是将模型包括在模式包中,还是在引用它?
更新
首先,请将这些更新放到您的问题中,评论部分实际上不是针对它们的。
好了,解决了这个问题。同步现在开始了,我发现“注册客户端失败了,因为:命名为Xmac的客户机希望同步名为:X.Entity的未识别实体”--不幸的是,这发生在我的所有实体中。
此错误意味着同步架构仍然不完全有效。桌面客户端同步吗?
你能在同步机上看到它的数据吗?
如果是这样,那么您在守护进程中的客户描述是错误的。如果它不同步,那么首先解决这个问题,因为听起来您的SyncSchema包仍然不正确。我建议尝试将其与项目中包含的sampleDesktop应用程序进行比较。
更新同步器
,好的,我已经把它显示在同步器里了,但是仍然得到了不被识别的错误。你说我在“守护进程”上的客户描述是错的是什么意思?谢谢。
在“同步者”中,我猜你看到了你所有的实体和数据?
在守护进程中,有一个clientDescription.plist。这个plist描述了守护进程将要同步的数据。该plist需要更新(因为默认的plist引用示例应用程序,等等)。引用数据结构,就像桌面应用程序一样。
在不久的将来,这个部分将被移动到一个插件中,这样你就不会直接修改守护进程了。预计在接下来的几周内会看到项目本身的更新。但是现在(并且将是可重用的)修改守护进程内部的plist,您应该已经准备好同步了。
更新ZAssert
这条线展开为:
BOOL success = [[ISyncManager sharedManager] registerSchemaWithBundlePath:path];
NSAssert(success, @"Failed to register sync schema");有几件事可以导致这种情况:
您的路径为零,请检查debugger
您还看到了哪些其他调试注释?
https://stackoverflow.com/questions/2496132
复制相似问题