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 文件?的主要内容,如果未能解决你的问题,请参考以下文章
这个 Rails 文件存储在哪里? db/development.sqlite3
Lion 中的 sqlite 核心数据存储在哪里? [复制]