Расширение Today: основной доступ к данным

  1. Я пытаюсь добавить расширение сегодня в мое приложение.
  2. Мое приложение содержит cocoaPod (наш собственный cocoapod), который устанавливает базовую модель данных для нашего приложения.

  3. Я настроил расширение сегодня, чтобы использовать наш модуль.

  4. При запуске цели расширения сегодня я получаю сообщение об ошибке для этой строки.

NSManagedObjectModel *managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:[[NSBundle mainBundle] URLForResource:@"MyModel" withExtension:@"momd"]];

Ошибка в том что [[NSBundle mainBundle] URLForResource:@"MyModel" withExtension:@"momd"] ноль

Я настроил группу для приложения и расширения в магазине разработчиков. Интересно, почему он не может найти модель данных в комплекте приложений?

-- Спасибо

1 ответ

Вы должны создать группу приложений для сегодняшнего расширения и изменить storeURL на местоположение, содержащееся в общей папке App Group:

NSURL *directory = [[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier:@"group.YourGroupName"];
NSURL *storeURL = [directory URLByAppendingPathComponent:@"YourAppName.sqlite"];

Для быстрого: https://medium.com/@maximbilan/ios-shared-coredata-storage-for-app-groups-447b4ba43eec

Для цели C: https://github.com/atomicbird/iOS-Extension-Demo

Другие вопросы по тегам