Не удается создать NSPersistentStoreCoordinator с нулевой моделью Today Extension

У меня есть сегодняшнее расширение, которое использует ту же модель, что и основное приложение, и раньше оно работало, но теперь оно больше не работает.

Я получаю сообщение об ошибке * 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;
}

person Clip    schedule 18.05.2015    source источник


Ответы (1)


У меня есть общий контейнер для доступа к основным данным (на самом деле это фреймворк), и я получаю 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"];
person Mundi    schedule 18.05.2015