ユーザー名、パスワード、アクセストークンを保存するためにキーチェーンを使用します。私はkeychainItem.h
とkeyChainItem.m
を実装しましたhereを追加しました。そして、これは私がやったことです:iOS:キーチェーンを使用してuserName、パスワード、アクセストークンを保存
1 - 私はこのようにそれをインスタンスviewDidLoad
で、その後myViewController.h
内のプロパティキーチェーンを作成しました:
self.keychain = [[KeychainItemWrapper alloc] initWithIdentifier:@"Login" accessGroup:nil];
私はユーザ名、パスワード、アクセストークンを得たとき、これはあります私が何をしたか:
2 - 私はそれをテストするときのuserName
[self.keychain setObject:userName forKey:(__bridge id)kSecAttrAccount];
を格納するには、それが動作します。
ここで、パスワードとアクセストークンを追加します。
私は、アプリケーションのクラッシュ、それを実行すると、私は[self.keychain setObject:accessToken forKey:(__bridge id)kSecAttrAccessible];
をしようとしたアクセストークンの
:私は、私は値を設定し、別のキーチェーン
self.keychainToken = [[KeychainItemWrapper alloc] initWithIdentifier:@“Token” accessGroup:nil];
を作成しようとしました
Assertion failure in -[KeychainItemWrapper writeToKeychain] KeychainItemWrapper.m:322
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Couldn't update the Keychain Item.'
:
[self.keychainToken setObject:accessToken forKey:(__bridge id)kSecValueData];
しかし、私は同じエラーが発生しました。
私は何をしましたか?キーチェーンを使用してユーザー、パスワード、およびアクセストークンを保存するにはどうすればよいですか?
そして、何を? –
私はaccessTokenのためにkSecValueDataを使用すると正しく動作します。しかし、どのようにパスワードを保存することができますか? –
@Llg:更新された回答を参照してください。 – Poles