2

Mac App Store を通じて配布される最初の OS X アプリケーションを開発しています。

アプリは、残りのアプリ ファイルの依存関係と同じ場所に現在保持している sqlite データベースを利用します。

Qt Framework を使用してアプリケーションを開発しています。

App Store の規則の範囲内に保つ。

  • アプリの更新中に上書きされないようにするためのデータベース ファイルはどこにありますか?

  • .app フォルダーとすべての依存関係をどのように構成すればよいですか?

ありがとうございました。

4

1 に答える 1

3

あなたの質問は、あなたが sqlite データベースに書き込んでいることを暗示しています。これは/Applications、ユーザーが書き込みアクセス権を持っていない可能性がある場所 ( ) にアプリケーションが保存されることを考えると、悪い考えです。

あなたがすべきことはDocuments、最初の使用時に(またはそこにないことを検出したときに)ユーザーが書き込み可能な領域(アプリのコンテナーのフォルダーが行う)にデータベースをコピー/作成し、そこから使用することです。

編集: Documents ディレクトリを取得するには、次のコードを使用します。

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

Documentsこれにより、アプリがサンドボックス化されている場合のユーザーのドキュメント ディレクトリではなく、アプリ コンテナー ディレクトリの場所が得られます。

~/Library/Containers/com.yourdomain.yourapp/Data/Documents
于 2013-01-02T13:41:44.567 に答える