2011-07-22 21 views
0

私はタブバーアプリを持っており、初めてアプリが起動されたときに表示されるログインウィンドウを追加したいと思います。ユーザー名とパスワードをアプリでハードコードしたいと思っています。誰でもこの助けてくれますか?初めてアプリを起動したときにユーザー名とパスワードを取得して保存するには?

+1

おそらく、この情報を暗号化したいと思うでしょうか? – PengOne

答えて

2

おそらく、情報を格納するためにKeyChainを使用したいと思うでしょう。キーチェーンは、ストレージ値が暗号化されているため、パスワードを安全に保存する方法です。

Appleはまた、サンプルプロジェクト、GenericKeychainがあります

このサンプルでは、​​のためにクエリを追加、削除、およびジェネリッククラス型のキーチェーン アイテムを更新する方法を示しています。また、キーチェーン項目を共有した の使用方法も示しています。すべてのクラスは非常によく似た動作を示します。 の例は、Keychain Itemの他のクラス( )のインターネットパスワード、証明書、キー、および識別情報に適用されます。

SFHFKeychainUtilsを使用してこれを実装する方法のもう1つの例は、hereです。

+0

これを行う方法の例や小さなチュートリアルを教えてもらえますか?私はアプリが起動するたびにユーザー名とパスワードを尋ねることを望んでいません。しかし、それがインストールされた後初めてです。それをコード化する方法を知らない。 – Hitz

+0

また、ユーザーが電話からアプリを削除したり削除したりすると、保存されたユーザー名とパスワードも削除したいと考えています。 – Hitz

+0

@hitz:私は2つのサンプルプロジェクトへのリンクを与えました。 – PengOne

0

あなたは安全な方法でユーザー名とパスワードを保存したい場合は、そのデバイスにキーチェーンストア - これは使いやすいようにするためにAppleがラッパークラスを提供します。ユーザーが最初にアプリケーションを実行したときに設定できる値をNSUserDefaultsデバイスに保存することもできます。この値は、ログインページを表示する必要があるかどうかを確認するために後続のログイン時に把握できます。関連ビュー

キーホルダーのもの、ここで、ここで-ME

NSUserDefaultのもの - ME

+0

おかげで – Hitz

0

私はSFHFKeychainUtilsを好きですが、あなたは(私は別のコメントでこれを参照してください)、それが削除時に削除したい場合、あなたはよドキュメントディレクトリにアプリと共に格納する必要があります。NSUserDefaults:

[[NSUserDefaults standardUserDefaults] setObject:@"myuser" forKey:@"username"]; 
[[NSUserDefaults standardUserDefaults] synchronize]; 

[[NSUserDefaults standardUserDefaults] stringForKey:@"username"]; 

これは、セキュリティを管理しませんが、アプリと一緒に削除されます。ユーザー名を確認することができます。存在しない場合、または使用時にログインに失敗した場合は、モーダルダイアログとしてログインビューを表示します。

代わりにキーチェーンを使用することを検討してください。アプリが削除されるとパスワードは保持されますが、暗号化されます。

+0

おかげピーターDeWeeseをburrows111。 – Hitz

関連する問題