Несогласованный сбой при попытке добавить постоянное хранилище в CoreData - PullRequest
0 голосов
/ 02 января 2019

Я сталкиваюсь со странным сбоем, который случается на некоторых устройствах, о котором сообщает Firebase, и история сбоев Xcode при переходе на новую модель CoreData.Единственный шанс и добавление 3 новых свойств - это удалить пару свойств в одной таблице / объекте.Я обновил классы и модернизировал версию модели, так как она не требует простой миграции.

И все, что я получаю, это:

crash_info_entry_0
Fatal error: Error migrating store: Error Domain=NSCocoaErrorDomain Code=256 
"The file "<FileName>.sqlite" couldn't be opened." UserInfo={NSFilePath=/var/mobile/Containers/Data/Application/45859729-F07E-4006-8742-3B53DF6D1CE9/Documents/<FileName>.sqlite, NSSQLiteErrorDomain=23}: file /ProjectName/Repo/Models/Storage/CoreData/CoreDataEngine.swift, line 137

Я использую Swift 4.2.

1 Ответ

0 голосов
/ 02 января 2019

Ошибка SQLite 23 - это ошибка авторизации . Это, вероятно, означает, что у вас включена защита данных в возможностях вашего приложения (или вы используете NSPersistentStoreFileProtectionKey при загрузке постоянного хранилища), и вы пытаетесь получить доступ к постоянному хранилищу, когда файл недоступен (например, когда экран заблокирован).

Если вы можете отключить защиту данных, это решит проблему. Если вам нужна защита данных, вам нужно использовать методы защиты данных в делегате приложения, чтобы определить, когда ваше приложение может безопасно получить доступ к файлу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...