1

Mac App Storeでアプリを配布する場合、ファイルの保存に関する制限はありますか?

コンピューターからアプリをコンパイルして実行すると、正常に動作します。構成が保存されます。

ただし、MacAppStoreからダウンロードしたバージョンでは構成が保存されていません。設定ファイルすら表示されません。誰もが何が起こっているのか知っていますか?

これは、構成を保存するコードです。

-(void)saveConfig:(id)plist {

    NSString *path = [[[NSBundle mainBundle] resourcePath] stringByAppendingString: CONFIG_FILE_NAME];

    NSData *xmlData;
    NSString *error;

    xmlData = [NSPropertyListSerialization dataFromPropertyList: plist
        format: NSPropertyListXMLFormat_v1_0
        errorDescription: &error];
    if(xmlData)
    {
        if (![xmlData writeToFile:path atomically:YES])
            NSLog(@"Failed to write the config file onto the hard drive");
    }
    else
    {
        NSLog(error);
    }
}
4

2 に答える 2

2

Mac App Storeをターゲットにしている場合、アプリケーションバンドルディレクトリにファイルを書き込むことはできません。バンドルは不変であると想定されています。

構成を保存することを検討してください。NSUserDefaultsまたは、本当に別のファイルが必要な場合は、公式に推奨される場所は(〜)/ Library /ApplicationSupportです。Matt Gallagherは、アプリケーションサポートディレクトリの検索または作成という素晴らしい投稿を書きました。この投稿では、標準NSApplicationSupportDirectoryの後に実行可能ファイル名を使用するソリューションを提供しています。

于 2011-05-19T04:00:57.860 に答える
1

通常、アプリケーションのアセットは読み取り専用であると想定する必要があります。これは、アプリストアだけでなく、一般的に当てはまります。

ユーザー設定をプロパティリストとして保存する場合はNSUserDefaults、アプリケーション内のファイルを変更する代わりにを使用します。これは「正しいことをする」、つまり設定をに保存すること~/Library/Preferencesです。

于 2011-05-19T04:00:31.947 に答える