Я хочу получить доступ к моей CoreData из моего виджета Today Extension, чтобы отобразить некоторые данные. Я уже прочитал, что мне нужно создать группу приложений и добавить ее в мое приложение и мой виджет. Я уже сделал это, но теперь я не уверен, что делать дальше. Я нашел старый учебник, но методы, используемые там, недоступны или я не могу найти их в AppDelegate. Может ли кто-нибудь помочь мне, пожалуйста?Swift Share CoreData между App и Today Extension
0
A
ответ
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")
}()
Вам необходимо добавить соответствующие возможности в обоих приложениях и сегодня проект расширения: App группы – CZ54
Спасибо, но, как я уже сказал, я не могу понять учебник или оригинальный пост. Я скопировал ваш код в мое расширение, но я не знаю, как работать дальше, чтобы получить доступ к моей CoreData. –
Фактически, если вы передаете 'secureAppGroupPersistentStoreURL' в качестве URL-адреса магазина в объявлении' persistentStoreCoordinator', вы должны иметь доступ к данным из приложения и расширения. Это единственное отличие от обычной реализации Core Data. – vadian