0

我正在构建的应用程序出现问题,并且在 cocoapods 和不兼容的构建设置方面遇到了许多错误。我决定重新开始并从头开始构建应用程序。我设法将几乎所有文件从旧应用程序复制到新应用程序并成功构建。我阅读了一些 SO 页面(即复制 coredata另一个 暗示我也可以轻松地复制 coredata xcdatamodel 文件并看到我决定尝试它的模型中没有任何大量数据(它的数据结构我试图不必再次写出而不是数据本身)。

我将旧的 xcdatamodeld 文件从旧应用程序拖放到重建的应用程序,但是当我再次运行时,它给了我一个在线错误

 let modelURL = NSBundle.mainBundle().URLForResource("myAppName", withExtension: "momd")!

带有错误消息“致命错误:在展开可选值时意外发现 nil”

然后我注意到,当我将 myAppName.xcdatamodeld 文件从旧应用程序复制到新的重建文件时……它会将其复制为 myAppName.xcdatamodel ,即末尾没有 d 。我试过再次删除和复制,每次都一样。关于问题是什么以及如何成功复制核心数据结构的任何想法?

4

2 回答 2

0

我刚刚遇到了同样的问题。这里的问题是,当您将模型从 Xcode 项目拖放到 Xcode 项目时,它会复制错误的扩展名,例如 xcdatamodel 而不是 xcdatamodeld。换句话说,缺少 'd' 字符(这是因为您复制了包内容而不是包本身,请参阅在 Finder 中对该文件显示包内容)。

当您将它从 Finder 复制到所需的项目时 - 一切都很好,“d”就位,并且在带有“momd”扩展名的捆绑包中查找它时会匹配。

于 2015-12-15T19:55:09.000 回答
0

我最终手动重新创建了 coredata 存储,但是如果我下次需要这样做,请尝试通过 finder 复制它,而不是按照您的建议复制它。谢谢帮助和详细说明

于 2015-08-23T23:02:00.860 回答