iOS 8 beta OSStatus -34018(errSecMissingEntitlement)

当我在Simulator中运行我在 Xcode 6 / iOS SDK beta 3中构建的应用程序时,SecItemcopyMatching函数返回-34018错误代码(errSecMissingEntitlement).

Osstatus result = SecItemcopyMatching ((__bridge CFDictionaryRef)retrieveQueryDict,(CFTypeRef *)&dataRef);

我已经注意到beta 1中的问题,然后在beta 2中它被修复了.此外,苹果公司在发行说明中提到了beta 1的已知问题,已在beta 2中修复.到目前为止,这么好.但是,在测试版3中,这个错误再次发生在同一个地方.但这次没有解释.

其他人都遇到过这个问题,或者有一些解决方法?这应该仅在模拟器上发生(至少是beta 1的情况;目前我没有要检查的设备),但是对于单元测试,它是一个阻止器.

解决方法

我和你的情况完全相同.我正在使用SSKeychain,但对每个人来说似乎都是同样的问题.尽管发行说明没有说明,但iOS 8 beta 1和beta 3中的问题似乎都在跳过beta 2.

我使用的解决方法基于以下答案:SecItemAdd and SecItemCopyMatching returns error code -34018 (errSecMissingEntitlement)

这对我有用:我在Xcode 6中登录了我的开发者帐户,然后在相关项目目标的功能选项卡中启用了“Keychain Sharing”.

相关文章

在有效期内的苹果开发者账号(类型为个人或者公司账号)。还...
Appuploader官网--IOS ipa上传发布工具,证书制作工具跨平台...
苹果在9月13号凌晨(北京时间)发布 iOS 16,该系统的设备可...
计算机图形学--OpenGL递归实现光线追踪
Xcode 14打出来的包在低版本系统运行时会崩溃,报错信息是Li...