无法使用nil模型今日扩展

时间:2015-05-18 19:32:49

标签: ios objective-c ios8-today-widget

我有一个今天的扩展程序使用与主应用程序相同的模型,我之前已经使用它,但现在它已不再有效。

我收到错误* Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Cannot create an NSPersistentStoreCoordinator with a nil model'

我做过的事情:

清理构建文件夹和清理项目

重新启动Xcode

重新启动的计算机

将“妈妈”改为“妈妈”

确保模型在目标成员资格中具有今天的扩展检查

我还能做什么?

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

1 个答案:

答案 0 :(得分:0)

我有一个用于核心数据访问的共享容器(实际上是一个框架),我以不同的方式获取模型URL。也许您可以在此之后建模您的URL检索:

NSArray *frameworks = [NSBundle allFrameworks];
NSPredicate *dataStorePredicate = 
   [NSPredicate predicateWithFormat:@"bundlePath.lastPathComponent == %@",frameworkName];
NSArray *filteredFrameworks = [frameworks filteredArrayUsingPredicate:dataStorePredicate];
NSBundle *dataBundle = filteredFrameworks.lastObject;
NSURL *modelURL = [dataBundle URLForResource:projectName withExtension:@"momd"];