获取数据时:
KeychainItemWrapper *keychain = [[KeychainItemWrapper alloc] initWithIdentifier:@"LoginData" accessGroup:nil];
NSString *user = [[NSUserDefaults standardUserDefaults] valueForKey:@"ACC"];
NSString *pass = [keychain objectForKey:CFBridgingRelease(kSecAttrAccount)];
保存数据时:
KeychainItemWrapper *keychain = [[KeychainItemWrapper alloc] initWithIdentifier:@"LoginData" accessGroup:nil];
[[NSUserDefaults standardUserDefaults] setObject:[jsonResult objectForKey:@"user"] forKey:@"ACC"];
[keychain setObject:[jsonResult objectForKey:@"token"] forKey:CFBridgingRelease(kSecAttrAccount)];
我正在重复使用几年前使用过的代码。但是,现在我遇到了部分无法正常工作的问题。
对于它的价值,我正在使用 KeyChainItemWrapper 版本:1.2(Objective-c)
工作正常,[[NSUserDefaults standardUserDefaults] valueForKey:@"ACC"]
并且被保存,但是存储一个值CFBridgingRelease(kSecAttrAccount)
并不能保存。运行获取代码时,在保存代码之后,我只得到(null)
.
我正在使用带有模拟器版本 10 的 xcode 8.3.1,运行 iPhone 7 版本 10.3。
最新的 IDE 版本和 iOS 版本是唯一改变的东西