Я использую комплект настроек для хранения основных пользовательских настроек для моего приложения. После запуска я устанавливаю настройки по умолчанию для настроек (как описано в другом посте). Однако, если я запустил файл settings.app и внес изменения, пара настроек пропала.
Вот группа из моего комплекта:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PreferenceSpecifiers</key>
<array>
<dict>
<key>Title</key>
<string>Word Bucket</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict>
<key>Type</key>
<string>PSToggleSwitchSpecifier</string>
<key>Title</key>
<string>Auto-create bucket</string>
<key>Key</key>
<string>bucket</string>
<key>DefaultValue</key>
<true/>
</dict>
<dict>
<key>Type</key>
<string>PSTextFieldSpecifier</string>
<key>Title</key>
<string>Words</string>
<key>Key</key>
<string>bucket_size</string>
<key>KeyboardType</key>
<string>NumberPad</string>
<key>DefaultValue</key>
<string>10000</string>
</dict>
<dict>
<key>AutocapitalizationType</key>
<string>Words</string>
<key>AutocorrectionType</key>
<string>No</string>
<key>DefaultValue</key>
<string>Bucket</string>
<key>IsSecure</key>
<false/>
<key>Key</key>
<string>bucket_name</string>
<key>KeyboardType</key>
<string>Alphabet</string>
<key>Title</key>
<string>Name</string>
<key>Type</key>
<string>PSTextFieldSpecifier</string>
</dict>
<dict>
<key>Title</key>
<string>Interface</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict>
<key>Type</key>
<string>PSMultiValueSpecifier</string>
<key>Key</key>
<string>colour_scheme</string>
<key>DefaultValue</key>
<string>Black</string>
<key>Title</key>
<string>Colour Scheme</string>
<key>Titles</key>
<array>
<string>Black</string>
<string>Blue</string>
<string>Green</string>
</array>
<key>Values</key>
<array>
<string>Black</string>
<string>Blue</string>
<string>Green</string>
</array>
</dict>
<dict>
<key>Title</key>
<string>About</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict>
<key>Type</key>
<string>PSTitleValueSpecifier</string>
<key>Title</key>
<string>Version</string>
<key>Key</key>
<string>version_preference</string>
<key>DefaultValue</key>
<string>0.4</string>
</dict>
</array>
<key>StringsTable</key>
<string>Root</string>
<key>Title</key>
<string></string>
</dict>
</plist>
Перед выполнением редактирования (после первой установки значений по умолчанию) в настройках сохраняется следующее:
bucket = 1;
"bucket_name" = Bucket;
"bucket_size" = 10000;
"colour_scheme" = Black;
"version_preference" = "0.5";
После внесения изменений в настройки они сообщают следующее:
bucket = 1;
"last_bucket" = 201203;
Я не делаю дальнейших изменений в настройках, кроме первоначальной настройки в методе initialize в делегате.
Любые предложения приветствуются.