钥匙串错误-34018,无法删除当前字典

时间:2016-09-20 18:25:30

标签: ios xcode keychain ios10 xcode8

我有一个用Swift 2.3编写的应用程序。该应用程序使用KeychainItemWrapper,使访问Keychain更简单。

当我使用Xcode在iOS 9.3模拟器中运行应用程序时,应用程序按预期运行,并且读取/写入钥匙串没有问题。

同样精确的应用程序,在我的代码中没有任何更改的情况下,在调用时崩溃:

- (void)resetKeychainItem

使用以下行:

SecItemDelete((__bridge CFDictionaryRef)tempDictionary);

因此,使这个NSAssert给我错误:

NSAssert( junk == noErr || junk == errSecItemNotFound, @"Problem deleting current dictionary." );

通过代码34018研究此错误向我指出其他帖子,其中用户遇到了钥匙串的错误,实际上引起了Apple的开发人员的注意。这是一个高优先级的错误,一篇帖子建议iOS 9.3修复此问题(我的应用程序适用于iOS 9.3!)。

然而,据我所知,Xcode 8处理代码签名等问题的方式与以前的版本不同。所以我想知道如果这是一个可能的新bug,请使用iOS 10。

如果有人对iOS 10 / Xcode 8上的此错误有任何想法或经验,请分享您的建议。

0 个答案:

没有答案