NSDefaultsから値を保存/保存して、アプリケーションを終了したときにSettings.bundleに保存されるようにする方法を見つけようとしています。これが私がしていることです...
NSDictionary *settings = [NSDictionary dictionaryWithObjectsAndKeys:@"M1", @"IDMissiles",
@"G2", @"IDGuns",
@"B3", @"IDBombs",
@"KM", @"IDDistance", nil];
[[NSUserDefaults standardUserDefaults] registerDefaults:settings];
次のようにすると、NSUserDefaultsから値が正しく出力されます...
NSLog(@"IDMissiles: %@", [userDefaults stringForKey:@"IDMissiles"]);
NSLog(@"IDGuns : %@", [userDefaults stringForKey:@"IDGuns"]);
NSLog(@"IDBombs : %@", [userDefaults stringForKey:@"IDBombs"]);
NSLog(@"IDDistance: %@", [userDefaults stringForKey:@"IDDistance"]);
ただし...アプリケーションを実行するたびに、NSUserDefaultsの値は(null)で始まり[[NSUserDefaults standardUserDefaults] synchronize];
、次にアプリケーションを実行するときに値が保存されると思っていましたが、そのような運はありませんでした。