2010-05-23 147 views
11

我開始一個新的應用程序,我想知道如何要求輸入密碼才能打開它。密碼保護iPhone應用程序

我正在考慮在應用程序委託實現文件的應用程序didFinishLaunchingWithOptions方法UIActionSheet,但我不確定如何去做。但我會繼續努力。

找到this video,這看起來很有幫助。

現在我有我的UIActionSheet彈出顯示「輸入密碼」,並試圖計算如何將一個鍵盤添加到操作表。

+0

爲什麼這個社區wiki? – kennytm 2010-05-23 08:56:35

+0

我認爲能夠幫助具有相同問題的人們進入社區wiki。我錯了嗎?我很抱歉,如果是的話。 – Thomas 2010-05-24 04:04:54

+0

你應該要求一個mod來刪除它,並在沒有社區維基的情況下提出另一個問題。 – 2010-07-02 14:14:29

回答

8

我想你可能有更好的運氣,使用完整的UIViewController實例而不是UIActionSheet。如果不是不可能,將鍵盤行爲添加到操作表中將會很困難。

如果您創建了UIViewController子類,則可以讓您的應用程序委託將其呈現在-application:didFinishLaunchingWithOptions:中。假設您正在爲主界面使用某種UIViewControllerUINaviagtionController,則可以在啓動時使用UIViewController - presentModalViewController:animated:以模態方式顯示密碼視圖控制器。

一旦你有你的密碼視圖控制器,你需要添加一個UITextField用於輸入密碼。使文本字段變成firstResponder(通過調用becomeFirstResponder),這將導致鍵盤顯示。您可能還希望在文本字段上設置keyboardAppearance屬性,以控制鍵盤的顯示方式,例如,如果您想限制爲數字PIN與完整密碼。設置secureTextEntry屬性可能也是可取的,以防止顯示實際密碼。對於這兩個選項,請參見UITextField上的UITextInputTraits協議。

爲了使應用程序的安全,可以創建密碼的視圖控制器,以便它有沒有按鈕或超過「提交」或「登錄」按鈕類型其他導航選項。如果用戶輸入了正確的密碼,就關閉模態視圖控制器並讓他們進入。如果他們不知道密碼,他們唯一的選擇是點擊主頁按鈕退出應用程序,因爲他們無法繼續超越了模態視圖控制器。

+0

謝謝!閱讀它是有道理的。儘管如此,我還沒有機會嘗試過。我感謝您的幫助! – Thomas 2010-07-14 13:47:23

+0

實現[UIKeyInput協議參考](http://developer.apple.com/library/ios/#documentation/uikit/reference/UIKeyInput_Protocol/Reference/Reference.html)也是一個好主意,因此您可以將密碼歸零底層的數據存儲。 NIST,DoD(STIG),CIS(安全基準)等通常需要清零。 – jww 2011-05-29 14:53:40

+0

我可以在哪裏安全地存儲密碼? – surlac 2012-10-03 13:36:16

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不需要這個功能。有時候會有問題。沒有嘗試過,因爲我不想被拒絕...

+0

謝謝!我沒有多少時間再次使用這個應用程序,但是當我選擇它時,我一定會查看你的建議。謝謝! – Thomas 2010-09-20 16:52:39