5

アプリケーションでキーSBUsesNetworkとキーを使用することに興味があります。UIRequiresPersistentWiFiただし、特定のビューコントローラのセットを使用する場合にのみ有効にします。アプリケーションの実行中にこれらのキー値をプログラムで反転する方法はありますか?

4

5 に答える 5

6

実行中にバンドルの内容を変更することはできません。そのディレクトリへの書き込みアクセス権がありません。あなたがやりたいことを正確に行う方法があるかどうかはわかりません。

于 2009-09-16T00:50:02.557 に答える
3

次の方法でNSBundleを介してinfo.plistをNSDictionaryとして取得できることを知っています。

NSDictionary* infoDictionary = [[NSBundle mainBundle] infoDictionary];

そこから、を作成して値を設定できmutableCopyますNSDictionary。キーにクエリを実行するときは、info.plistファイルではなく、をクエリする必要がありますNSDictionaryが、両方の問題を処理するクラスにこれらすべてをカプセル化するのは難しいことではありません。

アプリのinfo.plistファイルを直接変更する場合、問題が発生する可能性があります(たとえば、ファイルを変更すると、コード署名が失敗し、アプリが破損していると見なされます)。

于 2009-09-15T22:25:16.513 に答える
0

これはうまくいかないと思います。[NSBundle mainBundle]には、特定のinfoDictionaryへのポインターがあります。変更可能なコピーを取得しても、NSBundleは新しいplistについて何も知りません。誰かまだ試しましたか?

于 2009-12-26T03:43:41.113 に答える
0

Info.plistを変更することはできません。あなたが求めていることを行うためのApple認可の方法はないようです。

于 2009-09-17T12:13:09.130 に答える
0

Info.plistは辞書に他なりません。したがって、編集することができます。

于 2013-02-19T05:38:42.453 に答える