我正在使用 KeychainItemWrapper 类(项目中集成的 .h 和 .m 文件)在 iOS App 的 Keychain 中保存密码。还在项目中需要的地方导入了“Security”框架和“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”时在控制台中打印钥匙串密码时。请指导我哪里做错了...您的帮助将不胜感激!
提前致谢