web-dev-qa-db-ja.com

iOSで(プライベート)アプリケーション設定を保存しますか?

保存/復元するためのNSUserDefaultsを知っていますuser設定。 applicationの同等のクラスは何ですか?たとえば、アプリケーションに「最終実行」フィールドがある場合があります。または、アプリケーションレベルで使用するデバイスを一意に識別するためのフィールドがある場合があります。

私の意図は、アプリケーションの設定(ユーザーの設定ではない)を設定アプリケーションから除外し、iTunes、TimeMachineなどでそれらの設定をバックアップしないことです。

JavaとC#では多くのノイズが発生しますが、iOS/iPhone/iPadではそれほど多くありません。

26
jww

nSUserDefaultsで値を保存できる場合は、アプリケーション設定も保存することをお勧めします。

または、プロジェクトにsettings.plistを追加して、それを読んでください(後で変更しないもの)

そして、あなたはのように使うことができます。、

+ (NSDictionary*)getBundlePlist:(NSString *)plistName
{
    NSString *errorDesc = nil;
    NSPropertyListFormat format;
    NSString *plistPath = [[NSBundle mainBundle] pathForResource:plistName ofType:@"plist"];
    NSData *plistXML = [[NSFileManager defaultManager] contentsAtPath:plistPath];
    NSDictionary *temp = (NSDictionary *)[NSPropertyListSerialization
                                          propertyListFromData:plistXML
                                          mutabilityOption:NSPropertyListMutableContainersAndLeaves           
                                          format:&format errorDescription:&errorDesc];
    return temp;
}

+ (id) getPropValue:(NSString *)PropertyName
{   // I am supposing you had add your app preferences on settings.plist.
    return [[Property getBundlePlist:@"settings"] objectForKey:PropertyName];
    //here Property is my class name, then you can use value by 
    //NSString *value = [Property getPropValue:@"setting1"];
}
11
Mujah Maskey

あなたが何を求めているのか見分けるのは難しいです。 NSUserDefaultsがあなたが探しているもののように聞こえますが、あなたはすでにそれを知っていると主張しています。それで、あなたの問題は何ですか?

0
Erik B