私はアプリを/Applications
の中に入れているインストーラを持っています。アプリがそこにコピーされた後、私はインストーラのプラグインを書いて、サーバのアドレスやポート番号などのユーザ設定を取得しました。プラグインはこれらの設定を/Applications/myapp.app内のplistファイルに書き込みます。Objective-C:アプリバンドルのplistの内容を編集する
私は書いている:
NSString *filePath = @"/Applications/emptyapp.app/Contents/Resources/DummyConfig.plist";
NSString *test = @"somestring";
NSError *error;
[[NSFileManager defaultManager] createFileAtPath:filePath contents:nil attributes:nil];
[test writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:&error];
if(error){
[self alert:error.localizedDescription];
}
イムを許可を得るには、理にかなっている、そこに書き込むため拒否されましたが、どのように私はこの問題を回避できますか?
これらの設定は1回限りの設定であり、通常のユーザーではなく、管理者がアクセスする必要があります。
(私はを使用してインストーラを作成し、Objective Cでプラグインをビルドしています。パッケージには「require admin password」というチェックボックスがありますが、アプリケーションに書き込むことができないので、 )
IあなたはApp Bundleに書き込むべきだとは思わない。 Appleが許可していれば、他のアプリは簡単に他のアプリのハックや変更を行うことができます。あなたがする必要があるのは、アプリケーションのDocumentsフォルダに書き込むことです。 – GeneCode
さて、私は一時ファイルを使って回避策を考え出しました。ありがとう – theQuestions