首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在使用ZSync和CoreData同步时调试“未指定的实体”

如何在使用ZSync和CoreData同步时调试“未指定的实体”
EN

Stack Overflow用户
提问于 2010-03-22 22:08:28
回答 1查看 419关注 0票数 0

我试图让ZSync在桌面和iPhone应用程序之间工作。我已经设置了我的模式,并且我的妈妈和我的模式之间的所有信息都匹配,所以我应该做得很好。但是,当我启动同步时,我会得到这个错误。

未指定实体的_validateClient:entityNames:beforeDate:clientHasTruthForEntityNames:target:selector::中的

/ SyncServices先决条件故障

谁知道这意味着什么,以及如何调试它?我是SyncServices的新手。干杯!

更新

好的,我已经把它显示在同步器里了,但是仍然有一个不被识别的错误。你说我在“守护进程”上的客户描述是错的是什么意思?谢谢。

更新

好吧,我让clientDescription开始工作了,但是现在当它启动时:

ZAssert([ISyncManager sharedManager registerSchemaWithBundlePath:path],@“未能注册同步模式”);

我得到了一个错误:

注意:此异常起源于服务器。* -NSCFArray插入对象:atIndex::尝试插入零

EN

回答 1

Stack Overflow用户

发布于 2010-03-24 14:35:35

这是同步服务设置中的一个问题。这意味着您还没有声明哪些实体需要同步。我建议将您的SyncSchema子项目(用于桌面应用程序端)与包含在SampleDesktop项目中的项目进行比较。

更新

,我检查了所有这些,但没有结果。我用的是一个有版本的妈妈,这会有什么不同吗?在我的ManagedObjectModels中,我应该使用版本的名称还是集合的名称?(妈妈还是妈妈?)谢谢,我快到了!

不,架构应该指向您的最新型号。你确定它是正确指向它的吗?这可能是最棘手的一点。您是将模型包括在模式包中,还是在引用它?

更新

首先,请将这些更新放到您的问题中,评论部分实际上不是针对它们的。

好了,解决了这个问题。同步现在开始了,我发现“注册客户端失败了,因为:命名为Xmac的客户机希望同步名为:X.Entity的未识别实体”--不幸的是,这发生在我的所有实体中。

此错误意味着同步架构仍然不完全有效。桌面客户端同步吗?

你能在同步机上看到它的数据吗?

如果是这样,那么您在守护进程中的客户描述是错误的。如果它不同步,那么首先解决这个问题,因为听起来您的SyncSchema包仍然不正确。我建议尝试将其与项目中包含的sampleDesktop应用程序进行比较。

更新同步器

,好的,我已经把它显示在同步器里了,但是仍然得到了不被识别的错误。你说我在“守护进程”上的客户描述是错的是什么意思?谢谢。

在“同步者”中,我猜你看到了你所有的实体和数据?

在守护进程中,有一个clientDescription.plist。这个plist描述了守护进程将要同步的数据。该plist需要更新(因为默认的plist引用示例应用程序,等等)。引用数据结构,就像桌面应用程序一样。

在不久的将来,这个部分将被移动到一个插件中,这样你就不会直接修改守护进程了。预计在接下来的几周内会看到项目本身的更新。但是现在(并且将是可重用的)修改守护进程内部的plist,您应该已经准备好同步了。

更新ZAssert

这条线展开为:

代码语言:javascript
复制
BOOL success = [[ISyncManager sharedManager] registerSchemaWithBundlePath:path];
NSAssert(success, @"Failed to register sync schema");

有几件事可以导致这种情况:

您的路径为零,请检查debugger

  • There中的同步模式是否有问题。

您还看到了哪些其他调试注释?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2496132

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档