小编Roh*_*sal的帖子

iOS Keychain写入值导致错误代码-34018

我有一个iOS应用程序,它将一些敏感信息存储在钥匙串中.在将值写入钥匙串时,我收到错误代码-34018.

我目前正在使用Apple的iOS KeyChainItemWrapper类.

以下两行代码都接收相同的错误代码.

OSStatus res1 = SecItemCopyMatching((__bridge CFDictionaryRef)genericPasswordQuery, (CFTypeRef *)&attributes);
OSStatus res = SecItemUpdate((__bridge CFDictionaryRef)updateItem, (__bridge CFDictionaryRef)tempCheck);
Run Code Online (Sandbox Code Playgroud)

这个问题不是每次都会发生,而是间歇性地发生.一旦我收到此错误,我就无法再将任何值写入钥匙串.

我打印了错误描述,如下所示:

NSError *error = [NSError errorWithDomain:NSOSStatusErrorDomain code:res userInfo:nil];
Run Code Online (Sandbox Code Playgroud)

这就是错误打印出来的:

Error: Error Domain=NSOSStatusErrorDomain Code=-34018 "The operation couldn’t be completed. (OSStatus error -34018.)"
Run Code Online (Sandbox Code Playgroud)

keychain ios keychainitemwrapper

24
推荐指数
3
解决办法
1万
查看次数

标签 统计

ios ×1

keychain ×1

keychainitemwrapper ×1