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

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

  3. Я настраиваю расширение today для использования нашего модуля.

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

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

The error is that [[NSBundle mainBundle] URLForResource:@"MyModel" withExtension:@"momd"] is nil.

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

-- Спасибо


person Kapital    schedule 27.10.2016    source источник
comment
Выберите цель расширения, затем выполните этапы сборки и найдите xcdatamodeld файл. Вы видите это там?   -  person alexburtnik    schedule 28.10.2016
comment
Привет, @alexbrytnik, я проверю и дам тебе знать.   -  person Kapital    schedule 01.11.2016


Ответы (1)


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

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#.au9abo8v5

Для объекта C: https://github.com/atomicbird/iOS-Extension-Demo

person Tuan Pham    schedule 01.11.2016
comment
Потрясающие! Спасибо за совет. Я собираюсь попробовать это и обновить здесь. - person Kapital; 01.11.2016