Settings.bundle ограничения - PullRequest
0 голосов
/ 24 июля 2011

У меня есть приложение, для которого требуется пароль, который устанавливается в самом приложении. Однако после того, как пароль был установлен, если пользователь забыл пароль и ему нужно его сбросить, я подумал, что мы можем сбросить пароль в Settings.bundle, и надеялся, что устройство запросит пароль для такого изменения.

Цель состоит в том, чтобы только владелец устройства смог сбросить свой пароль. Если кто-то сбросит пароль, он застрянет без доступа к приложению.

Я исследовал и обнаружил, что кнопки (такие как «Очистить историю» и «Очистить кэш» в Safari) не могут использоваться сторонними разработчиками.

Я создал тумблер в Settings.bundle, который начинается с «Off» и помечен как «Reset Password». Когда пользователи включают это и возвращаются в приложение, оно предлагает им установить новый пароль.

Однако - я не могу найти способ программно изменить переключатель в настройках обратно на «Выкл.», Поэтому пользователю не предлагается устанавливать новый пароль каждый раз, когда он открывает приложение с этого момента если они не вернутся к настройкам и не выключат переключатель.

Я начинаю думать, что это вообще невозможно. Кто-нибудь знает что-нибудь еще, что может вступить в игру?

Вторая часть вопроса заключается в том, существует ли способ требовать от пользователей ввода пароля их устройства для внесения изменений? Если есть способ запросить пароль устройства, я смогу использовать его в качестве меры безопасности, чтобы позволить им сбросить пароль.

Заранее всем большое спасибо за помощь!

1 Ответ

1 голос
/ 24 июля 2011

Данные, сохраненные в настройках приложения, доступны через NSUserDefaults.Вы можете получить состояние ToggleSwitch, используя метод boolForKey:, передав Идентификатор коммутатора в качестве параметра.Вы также можете установить его состояние, используя метод setBool:forKey.

...