OSX:在哪里存储应用程序的 SQLite 文件?

Posted

技术标签:

【中文标题】OSX:在哪里存储应用程序的 SQLite 文件?【英文标题】:OSX: Where to store SQLite file for application? 【发布时间】:2011-05-31 14:32:14 【问题描述】:

我的 OSX Cocoa 应用程序使用 SQLite 来管理数据。初始化时,我需要指定数据库文件的存储位置。

处理此问题的标准方法是什么?

需要运行此数据库文件(如果它不存在,应用程序将创建它),并且数据应该永久保存,即使可能在软件更新之后也是如此。

我应该把它存放在哪里?应用程序文件夹?支持文件?

谢谢

【问题讨论】:

另见:Mac App Store - can't save a file 【参考方案1】:

约定是将其存储在 Application Support 文件夹中。即在~/Library/Application Support/*YourAppName*/database.db

您可以找到您正在搜索的应用程序支持

NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES);

【讨论】:

我是手动输入应用名称还是动态获取它? 你可以使用NSString *appName = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleName"];【参考方案2】:

在您应用的 Application Support 文件夹中。

查看 Core Data 项目设置 - 它显示了其他应用程序通常如何完成此操作。或者将 Core Data 用于您自己的应用程序,而不是 SQLite 文件。

【讨论】:

【参考方案3】:

听起来应该放在 Application Support 文件夹中。

【讨论】:

以上是关于OSX:在哪里存储应用程序的 SQLite 文件?的主要内容,如果未能解决你的问题,请参考以下文章

sqlite 文件在 Mac 上存储在哪里?

在电子生产模式下将 SQLITE db 文件存储在哪里?

这个 Rails 文件存储在哪里? db/development.sqlite3

Lion 中的 sqlite 核心数据存储在哪里? [复制]

为啥 Core Data SQLite 存储不能从 OS X 10.8 向后兼容到 10.4?

Qt/C++ 在 Mac OSX 10 上将系统范围 QSettings 存储在哪里?