And*_*rew 41 iphone xcode ios sentestingkit
我正在尝试使用Xcode上的基本SenTest框架来测试读取和更改钥匙串的代码.代码在设备上工作正常,但是当我开始测试时,每次我想用SecItemDelete/ SecItemAdd/ etc 触摸钥匙串时都会出现这些错误.
The operation couldn’t be completed. (OSStatus error -34018 - client has neither application-identifier nor keychain-access-groups entitlements)
我iOS Team Provisioning Profile: *为构建目标和测试目标配备了通配符配置文件().
这些(未经证实的)堆栈溢出答案:
从钥匙串中读取结果为errSecItemNotFound 25300
假设我每次使用钥匙串时都需要一个与我的应用程序标识符匹配的配置文件,但这可能不对,或者我会在测试目标之外得到相同的错误.
更深入地挖掘(未经证实的)答案:
SecItemAdd和SecItemCopyMatching返回错误代码-34018(errSecMissingEntitlement)
意味着钥匙链中可能存在一个错误,更普遍的Security.framework是,坦率地说这是一个可怕的错误.
我的问题是; 有没有人只有当他们在测试目标上时才会遇到OSStatus错误-34018 ?这似乎是我所看到的行为.
编辑:添加JorgeDeCorte在下面的答案中使用的答案.
如果问题在您的单元测试目标中退出,则此线程似乎包含解决方案.
https://devforums.apple.com/message/917498#917498
基本上,您必须通过在测试目标中添加以下作为运行脚本来对.xcttest文件夹进行编码.
codesign --verify --force --sign "$CODE_SIGN_IDENTITY" "$CODESIGNING_FOLDER_PATH"在设备上测试我的钥匙串时,我收到了很多-34018错误,并设法解决了这个问题.
如果您的测试目标中不存在该问题,则可能不是解决方案.
所以我猜解决方案是:强制签署您的测试目标.
| 归档时间: |
|
| 查看次数: |
28174 次 |
| 最近记录: |