iPhoneアプリで.plistファイルを保存する場所
-
09-09-2019 - |
質問
私は iPhone アプリを開発していますが、.plist ファイルを使用していくつかの構成変数を保存したいと考えています。
私のxcodeでは、その.plistファイルを作成する場所とそれにアクセスする方法???
ありがとう、
解決
あなたは、リソースフォルダに入れるでしょう。そして、それをロードするために、このようなものを使用します:
NSString *file = [[NSBundle mainBundle] pathForResource:@"TwitterUsers" ofType:@"plist"];
NSArray *Props = [[NSArray alloc] initWithContentsOfFile:file];
TwitterUsersがあなたのplistファイルの名前です。
あなたのplistファイルを使用すると、二行目の代わりにNSArrayのNSDictionaryのになるだろうキーと値が含まれている場合。
他のヒント
あなたのDocumentsディレクトリにあるplistファイルを保存するには、あなたのアプリでplistファイルを含める必要がありますし、最初の起動時にDocumentsディレクトリにコピーします。
Documentsディレクトリ内のファイルへのアクセスを取得するには:
NSArray *paths =
NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask, YES);
NSString *documentsPath = [paths objectAtIndex:0];
// <Application Home>/Documents/foo.plist
NSString *fooPath =
[documentsPath stringByAppendingPathComponent:@“foo.plist”];
私は、アプリケーションバンドル内のリソースのディレクトリにそれを維持をお勧めしますが、あなただけのプロジェクトウィンドウにドラッグすることができます。 NSBundle
メソッドpathForResource:ofType:
は、あなたがNSDictionary
のdictionaryWithContentsOfFile:
に渡すことができるのパスを、与える必要があります。
の編集:の申し訳ありませんが、完全なコードサンプルは、(私はすでにコピー&貼り付けしようと思いました):
NSString *path = [[NSBundle mainBundle] pathForResource:@"MyConfig" ofType:@"plist"];
NSDictionary *myConfig = [NSDictionary dictionaryWithContentsOfFile:path];
編集 「構成変数」は不変ではない可能性があることに気づきました。その場合は、この回答は無視してください。
使用することをお勧めします NSUserDefaults 独自のシステムを展開する代わりに構成変数を保存します。
を変更している場合は、 .plist
アプリケーション バンドル内では、バンドルの署名が無効になる危険性があり、正常に終了しません。
自分で保存して変更する必要がある場合 .plist
, に保管してください。 Documents
このディレクトリには、アプリケーションがダウンロードしたり作成したりするものをすべて保存する場所でもあります。見る ファイルとデータの管理 そして NSファイルマネージャー.
デフォルトでは、世界中どこででも(リソースの下またはそれ以外)XCodeのは、あなたが上記のpathForResource
コールでそれを得ることができるアプリケーションバンドルにそれをコピーするプロジェクトでのplistが含まれている場合。ただ、私はあなたがグループを好むかもしれないとして、どこにリソースでそれを持っていないことを言及しようと思いました...
あなたは一例sqliteの本を見つけることができます..... silteデータファイルは、あなたがprcessを知っているだろう....ディレクトリ「文書」に保存しました。
なぜバンドルが無効になるのでしょうか?
リソースフォルダー内のこの plist ファイルは、ドキュメントフォルダー内のファイルと同様に iTunes にバックアップされますか?