Защита паролем приложения для iPhone

Я запускаю новое приложение, и я хотел бы знать, как требовать пароль для его открытия.

Я рассматривал UIActionSheet в приложении didFinishLaunchingWithOptions метод файла реализации делегирования приложения, но я не уверен, как это сделать. Я собираюсь продолжать пытаться, хотя.

Нашел это видео, которое кажется довольно громким.

Теперь у меня есть UIActionSheet, чтобы отобразить "Введите пароль", и я пытаюсь понять, как добавить клавиатуру в лист действий.

Ответ 1

Думаю, вам лучше повезти, используя полный экземпляр UIViewController вместо UIActionSheet. Добавление поведения клавиатуры в лист действий будет затруднительным, если не невозможным.

Если вы создаете подкласс UIViewController, вы можете сделать делегат вашего приложения представленным в -application:didFinishLaunchingWithOptions:. Предполагая, что вы используете какой-то UIViewController или UINaviagtionController для вашего основного интерфейса, вы могли бы представить контроллер представления пароля при запуске с помощью UIViewController - presentModalViewController:animated:.

После того, как у вас есть контроллер просмотра паролей, вам нужно добавить UITextField для ввода пароля. Сделайте текстовое поле firstResponder (вызывая becomeFirstResponder на нем), и это вызовет отображение клавиатуры. Вы также можете установить свойство keyboardAppearance в текстовое поле, чтобы контролировать, как появляется клавиатура, например, если вы хотите ограничить числовой PIN-код и полный пароль. Установка свойства secureTextEntry также может быть желательной для предотвращения отображения фактического пароля. См. Протокол UITextInputTraits на UITextField для обеих этих параметров.

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

Ответ 4

Как насчет UIAlertView? Но я не знаю, отклонено ли приложение или нет. Некоторые говорят "да", а другой нет. Не знаю, изменились ли вещи в прошлом.

Вот несколько ссылок:

http://junecloud.com/journal/code/displaying-a-password-or-text-entry-prompt-on-the-iphone.html

UITextField в UIAlertView на iPhone - как сделать его отзывчивым?

http://iphone-dev-tips.alterplay.com/2009/12/username-and-password-uitextfields-in.html

http://discussions.apple.com/thread.jspa?threadID=1674641&start=15&tstart=0

http://icodeblog.com/2009/11/09/iphone-coding-tutorial-inserting-a-uitextfield-in-a-uialertview/

Большинство ссылок делают то же самое, все они используют CGAffineTransformMakeTranslation. Кто-то сказал, что это не нужно для iOS 4. И иногда возникают проблемы. Не пробовал, потому что я не хочу отклоняться...