我正在尝试为我创建的iOS框架编写单元测试。在它的封面下,它使用了Nuance的Dragon Mobile SDK。当我在JetBrains公司AppCode运行我的单元测试,我得到这个错误:iOS单元测试失败 - 无法访问KeyChain
2012-08-15 17:43:48.874 otest[62547:707] *** Assertion failure in -[KeychainManager writeToKeychain], /checkout_120606-1556/NMSPClient/sdk/c/trunk/solutions/iPhone/NMSP/../../../source/oem/iphone/src/KeychainManager.m:285
Couldn't add the Keychain Item.
Unknown.m:0: error: -[NuanceVoiceRecognizerTest testExample] : Couldn't add the Keychain Item.
当我运行Xcode中测试,它工作正常。实际上,XCode旋转模拟器来运行测试,而AppCode似乎并不需要。现在
中,Nuance的位是相关的原因是,它是正试图做的东西与钥匙串,当我把它的东西:
[SpeechKit setupWithID:@"<snip>"
host:@"sandbox.nmdp.nuancemobility.net"
port:443
useSSL:NO
delegate:self];
现在我知道这里一个答案是刚刚运行在XCode中测试。但是在XCode上我真的很难过,因为在代码编辑方面它有多么原始。更重要的是,我错过了一些关键概念,这令我很烦恼。
问题:什么可能会导致我的代码在单元测试运行时无法访问密钥库?任何人都会遇到这种事情,即使在XCode中也是如此?