2016-10-27 2 views
0
  1. Я пытаюсь добавить расширение в настоящее время в свое приложение.
  2. Мое приложение включает в себя cocoaPod (наш собственный cocoapod), который устанавливает базовую модель данных для нашего приложения.Сегодня Расширение: Основные данные Доступ

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

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

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

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

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

- Спасибо

+0

Выберите цель цели, затем выполните фазы и найдите файл 'xcdatamodeld'. Вы видите это там? – alexburtnik

+0

Привет, @alexbrytnik, я собираюсь проверить и сообщить вам. – Kapital

ответ

0

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

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

+0

Удивительный! Спасибо за совет. Я собираюсь попробовать это и обновить здесь. – Kapital