0

我正在开发一个使用我也创建的静态库的 iOS 应用程序。

我想在 iOS 应用程序中使用的库中有一个数据模型。

正常的 Apple 提供的 NSManagedObjectModel getter 如下所示:

- (NSManagedObjectModel *)managedObjectModel
{
    if (_managedObjectModel != nil)
{
    return _managedObjectModel;
}
    NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"Honeycomb" withExtension:@"momd"];
    _managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
    return _managedObjectModel;
}

我已经修改了 getter 以查看我的静态库资源包以获取数据模型:

- (NSManagedObjectModel *)managedObjectModel
{
    if (_managedObjectModel != nil)
    {
        return _managedObjectModel;
    }

    NSURL *honeycombBundleURL = [[NSBundle mainBundle] URLForResource:@"HoneycombResources" withExtension:@"bundle"];
    NSURL *modelURL = [[NSBundle bundleWithURL:honeycombBundleURL] URLForResource:@"Honeycomb" withExtension:@"momd"];
    _managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
    return _managedObjectModel;
}

我得到了正确返回的模型的 URL,但是当我查看 URL 指向的位置时,唯一的文件是“Versioninfo.plist”——没有实际的 .mom 文件!

我已经按照本文http://www.galloway.me.uk/tutorials/ios-library-with-resources/中的说明为静态库设置了资源包

当我在文件系统中浏览到它时,所有其他资源(.nib 和 .png)都正确显示在包中,我只是缺少 .mom 文件。有什么建议么?

4

1 回答 1

0

解决了:

出于某种原因,Xcode “导入”了 .xcdatamodel 文件,但源文件实际上并不在项目目录中。我将文件复制到 Xcode 认为的位置,并且一切正常。

于 2012-12-19T01:04:46.360 回答