2017-02-14 11 views
0

Я хочу получить доступ к моей CoreData из моего виджета Today Extension, чтобы отобразить некоторые данные. Я уже прочитал, что мне нужно создать группу приложений и добавить ее в мое приложение и мой виджет. Я уже сделал это, но теперь я не уверен, что делать дальше. Я нашел старый учебник, но методы, используемые там, недоступны или я не могу найти их в AppDelegate. Может ли кто-нибудь помочь мне, пожалуйста?Swift Share CoreData между App и Today Extension

ответ

3

Вы должны получить URL группового контейнера с containerURL(forSecurityApplicationGroupIdentifier: из FileManager передавая идентификатор контейнера в обеих целях:

lazy var secureAppGroupPersistentStoreURL : URL = { 
    let fileManager = FileManager.default 
    let groupDirectory = fileManager.containerURL(forSecurityApplicationGroupIdentifier: "group.com.mydomain.myapp")! 
    return groupDirectory.appendingPathComponent("databaseName.sqlite") 
}() 
+0

Вам необходимо добавить соответствующие возможности в обоих приложениях и сегодня проект расширения: App группы – CZ54

+0

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

+0

Фактически, если вы передаете 'secureAppGroupPersistentStoreURL' в качестве URL-адреса магазина в объявлении' persistentStoreCoordinator', вы должны иметь доступ к данным из приложения и расширения. Это единственное отличие от обычной реализации Core Data. – vadian