Мой последний вопрос шел по этому пути раньше, но я думаю, что это оправдывает новый вопрос, потому что я хочу сейчас пойти по этому пути (вместо того, чтобы пытаться сделать то, что я пытался сделать в моем другом вопросе).
То, что я хочу сделать, это иметь «невидимые» значения в NSUserDefaults. Меня не волнуют рекомендации Apple, потому что мое приложение предназначено для взломанных телефонов. Это то, что я до сих пор:
root.plist в settings.bundle выглядит так (пока, потому что я хочу добавить поле пароля позже):
![enter image description here](https://i.stack.imgur.com/FivK4.png)
first_launch - это значение, которое я не хочу, чтобы пользователь изменял напрямую. Как видно из названия, его значение будет равно «ложно», как только пользователь запустит приложение один раз и пройдет через мой маленький мастер настройки.
Как вы можете видеть на листе, first_launch имеет значение TRUE / YES в качестве начального значения, но этот код:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSLog(@"%d", [defaults boolForKey:@"first_launch"]);
ВСЕГДА показывает мне, что это 0. Что я могу сделать, чтобы в моем наборе настроек были «невидимые» значения? Я не хочу, чтобы пользователь изменял first_launch по понятным причинам, и я всегда хочу добавить поле пароля, которое будет доступно только из самого приложения.