デバイス上のアプリ内でログインフローをテストしています(KeychainItemWrapper
を使用)。アプリのキーチェーンをリセット/削除するにはどうすればよいですか?
シミュレーターでiOSシミュレーター-> コンテンツと設定のリセット...をクリックして行います。
キーチェーンアイテムはiOSサンドボックスにあり、ユーザーは不要なキーチェーンアイテムを削除するアクセス権がありません。これらは、APIを介してのみアクセスできます。
KeychainItemWrapper *keychainItem = [[KeychainItemWrapper alloc] initWithIdentifier:[[NSBundle mainBundle] bundleIdentifier] accessGroup:nil];
//またはキーチェーンにアクセスする方法
[keychainItem resetKeychainItem];
または、デバイスの[設定]、[全般]、[リセット]、[すべての設定をリセット]からデバイスをリセットできます>>。ただし、デバイスにインストールされているすべてのアプリのキーチェーンがリセットされます。
CODE:
#import "KeychainItemWrapper.h"
@interface YourViewController ()
{
KeychainItemWrapper *keychainItemWrapper;
}
- (void)viewDidLoad {
[super viewDidLoad];
keychainItemWrapper = [[KeychainItemWrapper alloc] initWithIdentifier:@"appname" accessGroup:nil];
}
- (IBAction)logoutButtonPressed:(id)sender {
[keychainItemWrapper resetKeychainItem];
}
キーチェーンダンパーを使用してキーチェーンデータをダンプできます。次のリンクを取得 https://github.com/ptoomey3/Keychain-Dumper
このURLに移動し、Zipファイルをダウンロードして解凍します。このフォルダ内で、関心のある唯一のファイルはkeychain_dumperバイナリです。キーチェーン内のアプリケーションがアクセスできる情報は、その資格で指定されます。このバイナリは、ワイルドカードの資格を持つ自己署名証明書で署名されているため、すべてのキーチェーンアイテムにアクセスできます。資格ファイルにすべてのキーチェーンアクセスグループを含める、またはすべてのキーチェーンデータへのアクセスを提供する特定のキーチェーンアクセスグループを使用するなど、すべてのキーチェーン情報を確実に付与する他の方法もあります。たとえば、ツールKeychain-viewerは次の要素を使用します。
com.Apple.keystore.access-keychain-keys
com.Apple.keystore.device
1)このバイナリをデバイスの/ tmpフォルダーにアップロードし、実行可能ファイルを確認します。
2)ここで、/ private/var/Keychains/keychain-2.dbの場所に保存されているキーチェーンデータベースファイルが誰でも読み取り可能であることを確認します。
3)ターミナルに移動し、コマンドを渡すことでデータをダンプできます
.keychain_dumper
4)上記のコマンドは、すべてのユーザー名とパスワードをリストします。ただし、上記は一般的なパスワードとインターネットパスワードのみをダンプします。 「-h」コマンドを使用して、使用情報を表示できます。
5)「-a」コマンドを使用して、すべての情報をダンプできます。
ここで詳細情報と例を読むことができます dumping keychain data