我正在使用 PyQt+Python 开发一个 GUI Mac OS X 应用程序,它将通过 Mac App Store 分发。(遗憾的是,我现在还没有 Objective-C 技能。)
该应用程序使用 sqlite 数据库来保存用户输入,并在稍后的特定时间从 sqlite 数据库中读取。这意味着我的应用程序要求 sqlite 数据库是可读/可写的。
在提交到 Mac App Store 之前,现在我的应用程序在我的 MacBook Pro 上运行良好(我目前与其他应用程序文件依赖项保持在同一位置)。
因为我知道 Apple 的沙箱不允许应用程序读/写数据(在我的情况下,这意味着 sqlite 数据库)是任意的。
我的问题是:
由于我使用 PyQt 和 Python 来开发应用程序,我可以在哪里以及如何在安装时通过代码复制/保存 sqlite 数据库?
如果我将程序打包到“myapp.app”文件(使用 py2app 或 cxFreeze 实用程序),我应该将初始 sqlite 数据库放在应用程序包的“资源”文件夹中吗?如果是这样,我怎样才能获得沙箱允许的位置并将数据库表单“资源”文件夹复制到沙箱允许的位置以便在我的 python 代码中读取/写入?
我在网上搜索了很多,因为我不是 Objective-C 开发人员,我对所有用 Objective-C 编写的示例感到困惑。这个任务是否可以在 Python 中完成,而无需从 Cocoa/Objective-C 或其他东西调用 API?
我对 Mac OS X 开发很陌生,所以我的问题可能很愚蠢,对此感到抱歉。谢谢你。