作成中の iOS フレームワークの単体テストを作成しようとしています。内部では、Nuance の Dragon Mobile SDK を使用しています。Jetbrains の AppCode で単体テストを実行すると、次のエラーが発生します。
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];
ここでの答えの 1 つは、XCode でテストを実行することです。しかし、コード編集の面で XCode がいかに原始的であるかを考えると、XCode には本当に苦労しています。さらに重要なことは、ここでいくつかの重要な概念が欠落しており、それが私を悩ませていることです。
質問に対して: 単体テストの実行時にコードがキーストアにアクセスできない原因は何ですか? XCode であっても、以前にこの種のことに遭遇した人はいますか?