現在、Apple の KeychainWrapper を使用して単一のユーザー名とパスワードを保存していますが、別のアカウントにログインできる機能を追加し、アプリでそれらを切り替えることができるようにしたいと考えています。
異なるキーチェーンの識別子を plist に保存し、アカウントを変更するたびにキーチェーンを再初期化することは問題ですか? またはこれに対するより良いアプローチはありますか?おそらくキーチェーンの NSMutableArray ですか?
ありがとう、ニック。
現在、Apple の KeychainWrapper を使用して単一のユーザー名とパスワードを保存していますが、別のアカウントにログインできる機能を追加し、アプリでそれらを切り替えることができるようにしたいと考えています。
異なるキーチェーンの識別子を plist に保存し、アカウントを変更するたびにキーチェーンを再初期化することは問題ですか? またはこれに対するより良いアプローチはありますか?おそらくキーチェーンの NSMutableArray ですか?
ありがとう、ニック。
オープン ソースの SFHFKeychainUtils クラスを確認することをお勧めします。
追加 (または更新) するメソッドを 1 つ呼び出すだけです。
+ (BOOL) storeUsername: (NSString *) username andPassword: (NSString *) password forServiceName: (NSString *) serviceName updateExisting: (BOOL) updateExisting error: (NSError **) error;
...保存されたパスワードを取得する 1 つの方法:
+ (NSString *) getPasswordForUsername: (NSString *) username andServiceName: (NSString *) serviceName error: (NSError **) error;
...そして、削除する 1 つの方法:
+ (BOOL) deleteItemForUsername: (NSString *) username andServiceName: (NSString *) serviceName error: (NSError **) error;
GitHub で入手できます。クラスをドラッグ アンド ドロップし、Security フレームワークをプロジェクトにインポートするだけです。