Ответ 1
Проверить этот вопрос - может быть связано с кешированием или расположением prefs при работе в песочнице:
У меня есть изолированное приложение для OSX, и я сохранил некоторые данные в NSUserDefaults
, все было нормально, пока я не удалил файл plist из каталога ~ Library/Preferences/.
Я думал, что приложение должно его откликнуться, но это не так. Когда я отлаживаю, я вижу, что
[[NSUserDefaults standardUserDefaults] synchronize]
возвращает YES
и данные сохраняются в классе, но при перезапуске пользовательские значения по умолчанию у пользователя пустые.
Даже если я скопирую этот файл plist из резервной копии в каталог настроек, приложение не увидит его.
Конечно, plist должен быть сохранен в ID контейнера/моего приложения /Data/Library/Preferences, и когда я копирую файл plist из резервной копии в этот каталог, приложение может его увидеть, но почему этот файл не воссоздан когда я удалил его?
Кто-нибудь знает, почему это?
Проверить этот вопрос - может быть связано с кешированием или расположением prefs при работе в песочнице:
У меня была эта проблема, вызванная удалением файлов вручную. Вместо этого вы можете использовать команду терминала defaults
. Таким образом, я смог reset установить значения по умолчанию, не нарушая ничего. Замените "идентификатор пакета" на ваш идентификатор пакета.
Чтобы просмотреть текущие значения:
defaults read bundle-identifier
Чтобы удалить сохраненные значения:
defaults delete bundle-identifier