1
我正在使用蘋果KEychainItemWrapper.The鑰匙串第一次返回值(也是隻要應用程序處於活動狀態或後臺狀態),但鑰匙串返回nil當應用程序退出並再次打開。ios鑰匙串返回零值
我測試這兩個模擬器和device.I'm使用的是iOS 9.2.1和8.2.1的Xcode
鑰匙扣分享我的項目啓動和權利是正確的。我不確定我是否真的需要打開鑰匙串共享。通過關閉鑰匙串共享沒有任何區別。我仍然期待鑰匙串共享關閉時的相同行爲。
這裏是我現在的儲蓄和retriving值:
-(void)saveUSerInfoInKeychain:(NSString *)usrName andPAssworD:(NSString *)password{
_keychain = [[KeychainItemWrapper alloc]initWithIdentifier:[[NSBundle mainBundle]bundleIdentifier] accessGroup:nil];
//also tried setting the accessible type
[_keychain setObject:(__bridge id)kSecAttrAccessibleAlways forKey:(__bridge id)kSecAttrAccessible];
//also set the accessgroup
[_keychain setObject:@"key.app.bndle.identifier"
forKey:(id)kSecAttrAccessGroup];
[_keychain setObject:usrName forKey:(id)kSecAttrAccount];
[_keychain setObject:password forKey:(id)kSecValueData];
}
-(NSString *)getUserEmail{
if (!_keychain) {
_keychain = [[KeychainItemWrapper alloc]initWithIdentifier:[[NSBundle mainBundle]bundleIdentifier] accessGroup:nil];
}
return [_keychain objectForKey:(id)kSecAttrAccount];
}
-(NSString *)getUserPassword{
if (!_keychain) {
_keychain = [[KeychainItemWrapper alloc]initWithIdentifier:[[NSBundle mainBundle]bundleIdentifier] accessGroup:nil];
}
return [_keychain objectForKey:(id)kSecValueData];
}
我在做什麼錯?我可以多次啓動具有相同標識符的鑰匙串嗎?