我在我的应用程序中使用 keychain 和 keychainitemwrapper。所以,我确实更新了 'kSecAttrAccessible' 使用 setObject:(id) 方法。
但是会出现错误。像这样,
由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“无法更新钥匙串项。”
这是我的来源
KeychainItemWrapper *wrapper = [[KeychainItemWrapper alloc] initWithIdentifier:@"UserData" accessGroup:@"49YVVGB32W.com.covimdm.daelim.pushData"];
NSString *PushData = [NSString stringWithFormat:@"%@::%@::%@", sLoginId, [[[PushManager defaultManager] info] pushServiceID], [[[PushManager defaultManager] info] host]];
[wrapper setObject:PushData forKey:(id)kSecValueData];
[wrapper setObject:(id)kSecAttrAccessibleAfterFirstUnlock forKey:(id)kSecAttrAccessible];
发生错误的部分是第四行代码。
[wrapper setObject:(id)kSecAttrAccessibleAfterFirstUnlock forKey:(id)kSecAttrAccessible];
我不知道为什么错误会一次又一次地发生。