私のアプリケーションには、いくつかの色設定、フォント設定、およびアプリケーション固有のオブジェクトを含む Dictionary があります (これらのオブジェクトは、 application にプライベートなプロパティを持つクラスです)。色の設定とフォントの設定は、アプリケーションの一種のパブリック設定です。それらをNSUserDefaultsに保存したいのですが、フォントや色が適切に表示されるため、このコード行を使用して保存しています
// reading the value
NSData *foregroundcolorData = [[NSUserDefaults standardUserDefaults] objectForKey:@"foregroundcolor"];
UIColor *foregndcolor = [NSKeyedUnarchiver unarchiveObjectWithData:foregroundcolorData];
// setting the default values
NSData *foregndcolorData = [NSKeyedArchiver archivedDataWithRootObject:[UIColor blackColor]];
[[NSUserDefaults standardUserDefaults] setObject:foregndcolorData forKey:@"foregroundcolor"];
// saving the changes, by putting everything in a dictionary called "preferences"
[[NSUserDefaults standardUserDefaults] registerDefaults:preferences];
[[NSUserDefaults standardUserDefaults] synchronize];
すべての設定をアプリケーション UI に入れることにしました。上記のコードを機能させるには、「設定バンドル」ファイルをアプリケーション プロジェクトに追加する必要があります。これにより、アプリケーションはデバイス/システム設定パネルにエントリを配置します。設定バンドルファイルにアプリケーション構成の詳細を設定していないため、空です。
この問題を回避するにはどうすればよいですか?