密码保护iPhone应用程序

时间:2010-05-23 08:55:30

标签: ios xcode iphone-sdk-3.0 password-protection uiactionsheet

我正在开始一个新应用,我想知道如何要求密码才能打开它。

我正在考虑应用委托实施文件的应用UIActionSheet方法中的didFinishLaunchingWithOptions,但我不确定如何这样做。我会继续尝试。

找到了this video,这看起来非常有用。

现在我的UIActionSheet弹出显示“输入密码”,我正在尝试计算如何在操作表中添加键盘。

4 个答案:

答案 0 :(得分:14)

答案 1 :(得分:8)

我认为使用完整的UIViewController实例而不是UIActionSheet可能会有更好的运气。如果不是不可能的话,将键盘行为添加到操作表将很困难。

如果您创建了UIViewController子类,则可以让应用程序委托在-application:didFinishLaunchingWithOptions:中显示它。假设您在主界面使用某种UIViewControllerUINaviagtionController,则可以使用UIViewController - presentModalViewController:animated:在启动时以模态方式显示密码视图控制器。

拥有密码视图控制器后,您需要添加UITextField密码输入。使文本字段变为firstResponder(通过调用becomeFirstResponder),这将导致键盘显示。您可能还需要在文本字段中设置keyboardAppearance属性,以控制键盘的显示方式(例如,您要限制为数字PIN与完整密码)。也可能需要设置secureTextEntry属性以防止显示实际密码。有关这两个选项,请参阅UITextInputTraits上的UITextField协议。

为了确保应用安全,您需要创建密码视图控制器,使其除了“提交”或“登录”类型按钮之外没有任何按钮或导航选项。如果用户输入了正确的密码,您将关闭模态视图控制器并让它们进入。如果他们不知道密码,他们唯一的选择是点击主页按钮退出您的应用程序,因为他们无法继续超出模态视图控制器。

答案 2 :(得分:3)

认为回购http://github.com/lashad/PTPasscodeViewController对于有人访问此页面非常有用。

答案 3 :(得分:1)

UIAlertView怎么样?但我不知道应用程序是否被拒绝。一些人说是,另一个没有。不知道过去是否有变化。

以下是一些链接:

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/

大多数链接都是相同的,它们都使用CGAffineTransformMakeTranslation。有人说iOS 4不需要这样做。有时会出现问题。没试过,因为我不想被拒绝......