我有一个 iOS 应用程序,它在钥匙串中存储了一些敏感信息。在将值写入钥匙串时,我收到错误代码 -34018。
我目前正在使用 Apple 的 iOS KeyChainItemWrapper 类。
以下两行代码都收到相同的错误代码。
OSStatus res1 = SecItemCopyMatching((__bridge CFDictionaryRef)genericPasswordQuery, (CFTypeRef *)&attributes);
OSStatus res = SecItemUpdate((__bridge CFDictionaryRef)updateItem, (__bridge CFDictionaryRef)tempCheck);
此问题并非每次都会出现,而是间歇性出现。一旦我收到此错误,我将无法再将任何值写入钥匙串。
我已经打印了这样的错误描述:
NSError *error = [NSError errorWithDomain:NSOSStatusErrorDomain code:res userInfo:nil];
这就是错误打印出来的内容:
Error: Error Domain=NSOSStatusErrorDomain Code=-34018 "The operation couldn’t be completed. (OSStatus error -34018.)"