我正在开发我的第一个 OS X 应用程序,该应用程序将通过 Mac App Store 分发。
该应用程序使用了 sqlite 数据库,我目前将其保存在与其余应用程序文件依赖项相同的位置。
我正在使用 Qt Framework 来开发应用程序。
遵守 App Store 规则的范围;
在哪里可以找到数据库文件,以免在应用程序更新期间被覆盖?
我应该如何构建 .app 文件夹和所有依赖项?
谢谢。
最佳答案
您的问题意味着您正在写入 sqlite 数据库,这是一个坏主意,因为应用程序将存储在用户可能无权写入访问的位置 (/Applications
) .
您应该做的是在第一次使用时(或当您检测到它不存在时)将数据库复制/创建到用户可写区域(应用程序容器的 Documents
文件夹即可),并且从那里使用它。
编辑:为了获取文档目录,请使用以下代码:
NSString *documentDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
这将为您提供应用容器 Documents
目录的位置,而不是应用沙盒时用户的 Documents 目录:
~/Library/Containers/com.yourdomain.yourapp/Data/Documents
关于macos - 在 OS X 上,将 SQLite 数据库放在哪里以防止其在更新期间被覆盖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14123126/