首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试在CoreData中添加持久性存储时发生不一致的崩溃

尝试在CoreData中添加持久性存储时发生不一致的崩溃
EN

Stack Overflow用户
提问于 2019-01-02 23:16:23
回答 1查看 382关注 0票数 1

在迁移到新的CoreData机型时,我面临着一些设备上发生的奇怪的崩溃,据Firebase和Xcode的崩溃历史报告。唯一需要更改和添加3个新属性的是删除一个表/对象中的几个属性。我已经重新生成了类,并升级了模型版本,因为它不需要进行轻量级迁移。

我得到的只是:

代码语言:javascript
复制
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。

EN

回答 1

Stack Overflow用户

发布于 2019-01-03 01:51:29

SQLite错误23是一个authorization error。这可能意味着你在应用程序的功能中开启了数据保护(或者你在加载持久存储时使用了NSPersistentStoreFileProtectionKey ),并且当文件不可访问时(例如,当屏幕被锁定时),你试图访问持久存储。

如果你能关闭数据保护,问题就解决了。如果你需要数据保护,你需要在你的应用委派中使用data protection related methods来检测你的应用何时可以安全地访问文件。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54008797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档