XCTestsは次のメッセージで失敗しています:*** Canceling tests due to timeout in Waiting for test process to check in...
これはここ数日で登場し始めたばかりです。私はXcode7.3.1を使用しており、iOS9.3.2はiPhone6で実行されています。私のアプリは主にSwiftで書かれています。
私はいくつかの同様の投稿を見ました:
これらの他の投稿では、この問題がコード署名で発生したものとして説明されています。コード署名は私の問題ではないようです。KeyChainAccessユーティリティを調べましたが、関連する期限切れの証明書が見つかりません。また、これまでのところ(非常に一時的に)問題を修正しているのは、iPhoneを再起動することです。 (残念ながら、その修正は長くは続きません。XCtestを数回実行すると、問題が再び発生する可能性があります)。私はJenkinsを実行しておらず、XCTestsだけを実行しています。
Xcodeを再起動し、DerivedDataフォルダーからすべてのファイル/フォルダーを削除しようとしましたが、どちらも問題を解決しません。
私didはXcode8(最初のベータリリース)をインストールするだけです。でも、1、2回発売した以外は、普段は使っていません。この問題がインストールした直後に発生しているのは、奇妙なことに偶然のようです。
2016年6月25日更新
この問題をいくらか絞り込みました。タイムアウトの問題と同時に、他のいくつかの症状が現れます。
print
ステートメントからのコンソールロギングが停止します。これらのXCTestを手動で実行していることに注意してください。つまり、各テストを個別に実行しているため、各テストにはビルドが含まれます。
また、これまでに以下をテストしました。
私の構成は、iOS 9.3.2、Xcode 7.3.1、Mac OS X 10.11.5(15F34)です。
問題は、コマンドxcodebuildを発行した瞬間に、XCTestサーバーへの接続のタイムアウトが開始されるという事実(または、xcodebuildの重大なバグ)にあります。タイムアウトは120秒であるため、シミュレーターのコンパイルと起動に2分以上かかる場合、xcodebuildはこの「タイムアウトによるテストのキャンセル」エラーを表示します。
解決策は、ビルドを2つのコマンドに分割することです。 1つはビルド用で、もう1つはテストの実行用です。
> xcodebuild clean build build-for-testing <other options>
> xcodebuild test-without-building <other options>
これにより、ビルドなしのテストアクションを最初にコンパイルする必要がないため、タイムアウトの問題が解決されます。
7.3.1、iPad 9.3.3、Mac10.11.6でも同じ問題が発生しました
プロビジョニングプロファイルは問題なく、その面で問題はありません。
OPが述べた手順からヒントを得て、iPadとXCodeを2回(この順序で)再起動すると、問題は解決しました。 XCodeを再起動した後、iPadのプラグを抜いて、もう一度差し込む必要がありました。
派生データを削除したり、Macを再起動したりする必要はありませんでした。
私の友人も同様の問題に直面し、サンプルプロジェクトを提供することでAppleテクニカルサポートを求めました。Appleテクニカルサポートチームは、バグを報告するように彼に依頼しました。
私はあなたと同じ問題を抱えています。私はあなたのように可能な限りすべてを試しました。それでも、それを解決する根本的な原因は見つかりません。この問題はXcode8の原因のようなものですが、それを証明するためのデバイスログやエラーメッセージが見つかりません。
更新:マイデバイスiPhone6s(9.3.1-> 9.3.2)iPhone5(9.3.1-> 9.3.2)両方ともこの問題が表示されますXcodeバージョン7.3.1(7D1014)Xcode-betaバージョン8.0(8S128D)
他の人が確認できるように、ここに別のソリューションを追加したいと思いました。ラップトップが厳格なウイルス対策の対象である場合は、~/Library/Developer
が免除されていることを確認してください。アンチウイルスが~/Library/Developer/CoreSimulator/Devices/.....
を検疫していたため、この問題が発生していました。
テストプロセスが隔離されている場合、テストを実行するのは困難です。
Werner Altewischerの答えは正しいと思いますが、最新ではなく、表示されている最も早いエラーを確認することが常に重要です。
私の場合、質問に投稿されたエラーが表示されていましたが、その前に多数のコンパイルエラーがありました。
例.
Testing failed:
'...' is not a postfix unary operator
'count' is unavailable: there is no universally good answer, see the documentation comment for discussion
Cannot convert value of type 'Int' to expected argument type 'IntMax' (aka 'Int64')
Cannot convert value of type 'Int8' to expected argument type 'IntMax' (aka 'Int64')
Cannot convert value of type 'Int16' to expected argument type 'IntMax' (aka 'Int64')
Cannot convert value of type 'Int32' to expected argument type 'IntMax' (aka 'Int64')
Cannot convert value of type 'UInt' to expected argument type 'UIntMax' (aka 'UInt64')
Cannot convert value of type 'UInt8' to expected argument type 'UIntMax' (aka 'UInt64')
Cannot convert value of type 'UInt16' to expected argument type 'UIntMax' (aka 'UInt64')
Cannot convert value of type 'UInt32' to expected argument type 'UIntMax' (aka 'UInt64')
最終的に、TravisCIでターゲットのXcodeバージョンを更新せずに環境をアップグレードしたことに気付きました。
変化...
osx_image: xcode8.3
に...
osx_image: xcode9.3
私の.travis.yml
これを修正しました。