如何将 sqlite3 数据库文件存储在应用程序的 Library 目录中?

Posted

技术标签:

【中文标题】如何将 sqlite3 数据库文件存储在应用程序的 Library 目录中?【英文标题】:How to store the sqlite3 database file in the Library directory of an app? 【发布时间】:2011-05-24 16:38:20 【问题描述】:

几乎每个人和每个教程似乎都将其私有应用数据存储在文档目录中。

但在我的图像编辑应用程序中,我希望用户能够使用 iTunes 文件共享。问题:它将文档中的所有内容都暴露给用户,他可能会意外删除重要的私有应用程序数据文件夹,例如 SQLite 数据库。

Apple 建议这样做:

如果您不想共享文件 与用户一起,将它们放入您的 应用程序的库目录。如果 没有标准库 子目录是适当的,创建 图书馆内的私人目录 目录并给它你的名字 应用程序的捆绑 ID。然后你可以 使用该目录来存储任何文件 对您的应用程序来说是私有的。

我从未听说过那个库目录。现在的问题是:我怎样才能访问这个目录?它在哪里?是否会像用户与iTunes同步时的documents目录一样备份?

【问题讨论】:

【参考方案1】:

使用NSLibraryDirectory 代替NSDocumentDirectory(在您所说的那些示例中)获取库目录,然后使用NSFileManager 在其中创建一个目录。

阅读this 了解有关应用程序目录结构的更多信息。 Library 目录已备份,Caches 目录除外。

【讨论】:

以上是关于如何将 sqlite3 数据库文件存储在应用程序的 Library 目录中?的主要内容,如果未能解决你的问题,请参考以下文章

如何将图像存储在 sqlite3 数据库中

如何将 CSV 文件迁移到 Sqlite3(或 MySQL)? - Python

excel里面的数据如何导入SQLite3

xcode sqlite3 如何将数据库从捆绑包复制到文档文件夹?

SQLite 如何变成 内存数据库

SQLite——临时文件 & 内存数据库(待续)