Итак, я пытаюсь создать расширение виджета сегодня, используя данные, хранящиеся в родительском приложении.Невозможно создать хранилище SQL с нулевым URL
Я пытаюсь сделать это, создав Persistent Store Coordinator
, как в родительском приложении, и используя URL-адрес основной базы данных приложений.
Однако при этом я получаю следующую ошибку;
2016-03-13 12: 59: 02,155 TodayWidget [10942: 1456153] Не удалось наследовать CoreMedia разрешений от 5079: (NULL) 2016-03-13 12: 59: 02,336 TodayWidget [10942: 1456112 ] *** Завершение приложения из-за неотображаемого исключение «NSInvalidArgumentException», причина: «Невозможно создать хранилище SQL с нулевым URL-адресом».
Вот что я делаю в контроллере виджетов Сегодня. containerPath
такой же, как идентификатор связки для сегодняшней цели расширения. Имя файла containerPath?.URLByAppendingPathComponent
sql совпадает с именем файла sql-файла основного содержимого ядра, а также modelURL
- это то же самое, что и в родительском приложении.
var context: NSManagedObjectContext!
let fileManager = NSFileManager.defaultManager()
var containerPath = fileManager.containerURLForSecurityApplicationGroupIdentifier("com.company.APPNAME.TodayWidget")
containerPath = containerPath?.URLByAppendingPathComponent("SingleViewCoreData.sqlite")
let modelURL = NSBundle.mainBundle().URLForResource("APPNAME", withExtension: "mom")
let model = NSManagedObjectModel(contentsOfURL: modelURL!)
let coordinator = NSPersistentStoreCoordinator(managedObjectModel: model!)
do {
try coordinator.addPersistentStoreWithType(NSSQLiteStoreType, configuration: nil, URL: containerPath, options: nil)
} catch {
print("yellow")
}
context = NSManagedObjectContext(concurrencyType: .MainQueueConcurrencyType)
context.persistentStoreCoordinator = coordinator
Кто-нибудь знает, как я могу разрешить ошибку?
PS: Я включил и создал группы приложений и добавил сегодняшний виджет в качестве цели для базовой модели данных и подклассов.
Не кто-то уже объяснил причину, в другой раз, когда вы спросили, а затем удалил этот вопрос? –
@PetahChristian no, они только что сказали, что я должен исследовать контейнерный патч, а также вопрос был не очень подробным, и сам вопрос не был ясен. – RileyDev
Почему вы не улучшили исходный вопрос? Ничего не изменилось в отношении ошибки. Как и раньше, ваш 'containerPath' по-прежнему равен нулю. –