gpt4 book ai didi

macos - 在哪里放置 SQLite 数据库以防止它在 OS X 更新期间被覆盖?

转载 作者:行者123 更新时间:2023-12-03 17:54:33 25 4
gpt4 key购买 nike

我正在开发我的第一个 OS X 应用程序,它将通过 Mac App Store 分发。

该应用程序使用了一个 sqlite 数据库,我目前与其他应用程序文件依赖项保存在同一位置。

我正在使用 Qt 框架来开发应用程序。

保持在 App Store 规则的范围内;

  • 在哪里可以找到在应用程序更新期间不被覆盖的数据库文件?
  • 我应该如何构建 .app 文件夹和所有依赖项?

  • 谢谢。

    最佳答案

    您的问题意味着您正在写入 sqlite 数据库,这是一个坏主意,因为应用程序将存储在用户可能没有写访问权限的位置( /Applications )中。

    您应该做的是在第一次使用时(或当您检测到它不存在时)将数据库复制/创建到用户可写区域(应用程序容器的 Documents 文件夹将执行)并从那里使用它。

    编辑 :为了获取 Documents 目录,请使用以下代码:

    NSString *documentDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];

    这将为您提供应用程序容器的位置 Documents目录,而不是应用被沙盒化时用户的 Documents 目录:
    ~/Library/Containers/com.yourdomain.yourapp/Data/Documents

    关于macos - 在哪里放置 SQLite 数据库以防止它在 OS X 更新期间被覆盖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14123126/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com