我正在嘗試爲我創建的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中也是如此?