2010-11-30 15 views
5

私は既存のアプリケーションにパスコードを統合したいと思っています。誰かが良いチュートリアルを知っていますか、それとも私の検索に役立つだろうか?それを統合するための標準のAppleチュートリアルはありますか?私はそれを見つけることができませんでしたが、didFinishLaunching &辞職の方法でキーパッドのビューを置くのと同じくらい簡単だろうと思いますか?キーチェーンはそれを保管するのに適していますか?ここでも、確かに実証済みの安全な方法があれば、このことについての指針を再考することは嫌です。ここで私が見つけることができた1つの良いチュートリアルですが、ビュー、または複数の呼び出しポイントは組み込まれていません。 http://gorgando.com/blog/topics/technology/iphone_development/simple-iphone-tutorial-password-management-using-the-keychain-by-using-sfhfkeychainutilsiPhoneの暗証番号の統合

ありがとう!

答えて

2

私はこれを進めてきたが、私はAPIまたはあなたが使用できる何かを持つ任意のリンクを持っていないが、いくつかのアドバイス:あなたがbecomeActive方法でパスコードビューを呼び出す必要がありますマルチタスク-with

アプリのデリゲート、バックグラウンドからの復帰時にアプリがパスコードの入力を促す方法。 、

- (void)applicationDidEnterBackground:(UIApplication *)application 

- (void)applicationDidBecomeActive:(UIApplication *)application 

最初のものは、背景を行く前に呼ばれ、後よりもバックグラウンドに行く前に、コードロックビューを提示するために呼び出す方が良いです:

は基本的に次の2つの方法でデ・パスコードを呼び出す必要がありますこれを後で呼び出すと、コードロックビューが表示される前に、バックグラウンドに入る前にアプリケーションを残したままになっているはずです。

2番目のコードはちょっと明白ですが、コードロックを2回表示しないように制御する必要があります。バックグラウンドから戻るときに2番目のメソッドが呼び出されるためです。

- パスワードに関連している、それは私たちのようないくつかのカスタム設定ファイルに少し暗号化を保存することができます。

- ビューに関連するこの種の動作を処理するいくつかのプロトコルで独自のviewControllerを作成できます。大したことではない。このことができます

希望、

+0

ユーザーがログインする必要があるすべてのケースをカバーするために、デリゲートで上書きする必要がある機能を正確に教えてください。 – Josh

+0

確かに私は投稿を編集しました。これが役に立ったら= D – Omer

+0

@Omer。どのように "コードロックを2回提示する"を防ぐためのアイデア?私は何かをハッキングしましたが、それは確かにきれいではありません。プロトコルを使用する方がはるかにクリーンな方法のようです。あなたはそれについて何か提案していますか? – okysabeni

1

NSUserDefaultsさようなら* standardUserDefaults = [NSUserDefaults standardUserDefaults]。

if (standardUserDefaults) 
{ 
    [standardUserDefaults setObject:passCodeTextField.text forKey:@"lock"]; 
    [standardUserDefaults synchronize]; 
} 

保存スキームがある場合は、これを特定のアクションに入れてください。otherviseアプリケーションの初回起動時にこれを設定してください。他の条件は、その後[NSUserDefaults standardUserDefaults]

今、あなたは、このパスコードを

NSUserDefaultsにアクセスすることができます* standardUserDefaults =コードの上に使用している場合appDelegateで

チェックが適切に置きます。 if(standardUserDefaults) self.passCodeString = [standardUserDefaults objectForKey:@ "lock"];

また、これをパスカル表示(パスコード用)で使用することもできます。

+2

'standardUserDefaults'が非nil(あなたのifブロックで)であるかどうかを確かめる必要はありません。 'nil'の場合は、メッセージを送信するときに何も起こりませんが、' [NSUserDefaults standardUserDefaults] 'が' nil'を返すことが可能かどうかは本当に確かではありません。 – dreamlax

+1

私はそれがC++、C#、Javaの世界から来て、何も傷つけない人の良い習慣だと思います。 –