在主项目中使用子项目的xcdatamodelId

时间:2013-04-22 17:14:01

标签: ios core-data subproject

我在XCode中有一个依赖子项目工作的主项目。子项目基本上是一个库,它也定义了数据库模型,以及与之交互的方式。

要在主项目中使用子项目,我只是将子项目xcodeproj文件放在主项目中,做了一些设置(比如指定标题搜索路径),就是这样。

我正在使用核心数据,但如果我尝试直接使用.xcdatamodelId文件,通过创建托管对象上下文,它就会失败:看起来主项目无法找到子项目资源(除了.h和.m)文件)。

到目前为止,我找到的唯一解决方案是从主项目中的子项目复制.xcdatamodelId文件,它就可以解决问题。但它并不令人满意,因为如果我的模型发展,我必须维护两个文件。

1 个答案:

答案 0 :(得分:1)

我一直在努力解决这个问题,我想在这里回答它,因为我认为它很重要。

为了将子项目中的模型文件添加到父项目中,您只需找到要在Finder中添加的模型文件。然后,您可以将它们拖动到项目中,进入您认为合适的任何文件夹。当Xcode显示“选择添加这些文件的选项”提示时,取消选择“将项目复制到目标组的文件夹”项,您可以选择“创建组...”或“创建文件夹引用”。 ..“。在此过程之后,您应该在Build Settings中的compile sources阶段看到模型文件。

重要的是要注意,将模型文件(在Xcode中)从子项目拖动到“编译源”或父项目中将不起作用,所以请在Finder中进行。