MagicalRecord SQLite 文件为空

Posted

技术标签:

【中文标题】MagicalRecord SQLite 文件为空【英文标题】:MagicalRecord SQLite file empty 【发布时间】:2015-05-26 14:53:03 【问题描述】:

我在读取文件时遇到问题。我使用 MagicalRecord 作为我的 CoreData 包装器。我成功保存或更新对象。使用我的 NSLog 我可以看到它,一切都很好,我可以在我的数据库中使用它。但是每次我想在我的应用程序中查看 SQLite 文件(我使用的是 Datum LE)时,文件都是空的。我无法直接在我的应用程序的库文件夹中访问该文件。我将该文件复制到我的桌面,它是空的。我究竟做错了什么?所以再一次,我的 ios 应用程序中的一切工作正常,我可以看到记录被保存并且我可以正常获取它们。

【问题讨论】:

你的问题不清楚。当您尝试更新文件时,该文件在哪里?在应用程序包或文档/缓存/应用程序支持目录中? 在触发这个问题的地方添加一些代码sn-ps 在我的 iOS 模拟器设备文件夹中,Data Application Library Application Support 【参考方案1】:

您显然在查看错误的文件。如果您的应用正在保存(我假设,跨应用重新启动),日期肯定保存。

一种查找方法是NSLog 持久存储 URL 并检查引用的文件。

【讨论】:

【参考方案2】:

我相信您遇到的问题是 Core Data 使用的新的默认日记模式。

看这篇文章 https://developer.apple.com/library/ios/qa/qa1809/_index.html

基本上您的更改不会写入.sqlite 文件,而是在.sqlite-wal 中找到。但是,当您打开 .sqlite 时,我尝试过的大多数 SQLite 阅读应用程序都会将 -wal 吹走,祝您好运。

您可以尝试更改日志模式以进行调试

【讨论】:

以上是关于MagicalRecord SQLite 文件为空的主要内容,如果未能解决你的问题,请参考以下文章

Magical Record 不会保存到 SQLite 文件

Xcode MagicalRecord 避免生成 WAL 文件

合奏:MagicalRecord 和 iCloud

MagicalRecord 没有使用我的模型

使用 MagicalRecord 进行核心数据加密

MagicalRecord:后台保存