iOSアプリのキーチェーンにパスコードを保存するために、KeychainItemWrapperクラス(プロジェクトに統合された.hおよび.mファイル)を使用しています。また、必要に応じて「セキュリティ」フレームワークと「keychianItemWrapper.h」クラスをプロジェクトにインポートしました。(#import , #import "KeychainItemWrapper.h" )
キーチェーンアクセスでパスコードを保存するために、アプリデリゲートメソッドで以下のコードを使用しています:
if([textfieldPassword1.text isEqual:textfieldPassword2.text]){
NSLog(@"CONGRATS !! PASSCODE MATCHED !!!");
//converting "textfieldPassword1" to NSNumber
NSNumber *textfieldPasscode1Num = [NSNumber numberWithInt:[textfieldPassword1.text intValue]];
//saving passcode to the keychain access
[keychain setObject:textfieldPasscode1Num forKey:(__bridge id)kSecValueData];
// [keychain setObject:[NSNumber numberWithInt:[textfieldPassword1.text intValue]] forKey:(__bridge id)kSecAttrAccount];
// if passcode matches then load Show Lock Screen Page
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.viewController = [[ViewController alloc] init];
[self.window addSubview:self.viewController.view];
[self.window makeKeyAndVisible];
}
そして、以下のコードを使用してパスコードをリセットしています:
if(_isResetPasscode){
NSLog(@"Code here for Update Passcode in Keychain Access !!!");
_isResetPasscode = FALSE;
// "keychain" is object of "KeychainItemWrapper" class
[keychain resetKeychainItem];
/* Again setting the new passcode entered by user in keychain access.. IT IS NOT SAVING IN keychain access, where above the same line of code was working for saving passcode in keychain access
/*
[keychain setObject:resetPasscodeNum forKey:(__bridge id)kSecValueData];
NSLog(@"----Passcode Re-Setted ----!! %@\n",resetPasscodeNum);
}
「0」を印刷するたびにコンソールにキーチェーンパスコードを印刷しているとき。私が間違っているところを教えてください...あなたの助けをいただければ幸いです!!
前もって感謝します