I\'m starting a new app, and I\'d like to know how to require a password to open it.
I was considering a UIActionSheet
in the application didFinishLa
I think you may have better luck using a full UIViewController
instance instead of a UIActionSheet
. Adding keyboard behavior to an action sheet will be difficult if not impossible.
If you create a UIViewController
subclass, you can make your application delegate present it in -application:didFinishLaunchingWithOptions:
. Assuming you're using some sort of UIViewController
or UINaviagtionController
for your main interface, you could have the password view controller presented modally at startup using UIViewController
-presentModalViewController:animated:
.
Once you have your password view controller, you'll need to add a UITextField
for password entry. Make the text field become firstResponder
(by calling becomeFirstResponder
on it), and that will cause the keyboard to be displayed. You may also want to set the keyboardAppearance
property on the text field to control how the keypad appears if for example you want to limit to a numeric PIN versus a full password. Setting the secureTextEntry
property may also be desirable to prevent the actual password from being display. See the UITextInputTraits
protocol on UITextField
for both of those options.
In order to make the app secure, you would create your password view controller so that it has no buttons or navigation options other than a "Submit" or "Login" type button. If the user enters the correct password, you dismiss the modal view controller and let them in. If they don't know the password, their only choice is to tap the Home button to exit your application as they'd have no way to proceed beyond the modal view controller.
Here are some samples I found.
Note: https://
Thought the repo http://github.com/lashad/PTPasscodeViewController could be useful for someone visit this page.
What about a UIAlertView
? But I don't know if the app gets rejected or not. A few say yes, the other no. Doesn't know if things changed in the past.
Here are some links:
http://junecloud.com/journal/code/displaying-a-password-or-text-entry-prompt-on-the-iphone.html
UITextField in UIAlertView on iPhone - how to make it responsive?
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/
Most of the links do the same, they all use CGAffineTransformMakeTranslation
. Someone stated that this isn't needed for iOS 4. And sometimes there are problems. Didn't tried it out, because I don't want to get rejected ...