Les XCTests échouent avec le message: *** Canceling tests due to timeout in Waiting for test process to check in...
Cela a juste commencé à arriver ces derniers jours. J'utilise Xcode 7.3.1, avec iOS 9.3.2 s'exécutant sur un iPhone 6. Mon application est principalement écrite en Swift.
J'ai vu des articles similaires:
Ces autres publications parlent de ce problème comme étant lié à la signature de code. La signature de code ne semble pas être mon problème - j'ai consulté l'utilitaire KeyChain Access et je ne vois aucun certificat pertinent expiré. En outre, ce qui a pour but de résoudre (très temporairement) mon problème est de redémarrer mon iPhone. (Malheureusement, ce correctif ne dure pas longtemps - peut-être quelques exécutions de XCtests et le problème se pose à nouveau). Je ne cours pas Jenkins, juste XCTests.
J'ai essayé de redémarrer Xcode et de supprimer tous les fichiers/dossiers du dossier DerivedData mais aucun de ceux-ci ne résout le problème.
I did installez simplement Xcode8 (première version bêta). Mais à part de l'avoir lancé une ou deux fois, je ne l'utilise généralement pas. Il semble étrangement fortuit que ce problème se pose après l’avoir installé.
Mise à jour du 25/06/16
J'ai réduit cette question un peu. Plusieurs autres symptômes apparaissent en même temps que le problème de délai d'attente:
print
dans les fichiers XCTest s'arrête. Il semble intéressant de noter que j'utilise ces XCTest manuellement. C'est-à-dire que j'exécute chaque test séparément, de sorte que chaque test implique une construction.
Aussi, jusqu'à présent, j'ai testé les éléments suivants:
Ma configuration est la suivante: iOS 9.3.2, Xcode 7.3.1, Mac OS X 10.11.5 (15F34).
Le problème réside dans le fait (ou plutôt: bug grave dans xcodebuild) que le délai de connexion au serveur XCTest commence au moment où vous exécutez la commande xcodebuild. Le délai d'attente est de 120 secondes. Par conséquent, si votre compilation + le démarrage du simulateur prend plus de 2 minutes, xcodebuild générera l'erreur "Annulation des tests en raison d'un délai d'attente".
La solution consiste à diviser la construction en deux commandes. Un pour la construction et un pour l'exécution des tests:
> xcodebuild clean build build-for-testing <other options>
> xcodebuild test-without-building <other options>
Cela résoudra le problème du délai d'attente, car l'action de test-sans-construction n'a pas à être compilée en premier.
J'ai eu le même problème avec 7.3.1, iPad 9.3.3, Mac 10.11.6
Les profils de provisioning sont corrects et ne posent aucun problème à cet égard.
En prenant des allusions aux étapes mentionnées par OP, le problème a disparu après le redémarrage de l'iPad et du XCode à deux reprises (dans cet ordre). Après avoir redémarré XCode, j'ai dû débrancher l'iPad, puis le rebrancher.
N'a pas eu à supprimer les données dérivées ni à redémarrer le Mac.
Mon ami a également rencontré des problèmes similaires et a sollicité l'assistance technique Apple en fournissant un exemple de projet. L'équipe d'assistance Apple Tech a répondu en lui demandant de signaler un bogue.
J'ai le même problème avec vous. J'ai essayé tous les moyens possibles comme vous. Et ne trouvez toujours pas la cause fondamentale pour le résoudre. Le problème est comme cause par Xcode8, mais je ne peux trouver aucun journal de périphérique ou message d'erreur pour le vérifier.
mise à jour: Mes appareils iPhone6 (9.3.1 -> 9.3.2) iPhone5 (9.3.1 -> 9.3.2) apparaissent tous les deux ce numéro Xcode version 7.3.1 (7D1014) Xcode-beta version 8.0 (8S128D)
Bien que je pense que la réponse de Werner Altewischer soit correcte, il est toujours important de regarder la première erreur que vous constatez, pas la plus récente.
Dans mon cas, je voyais l'erreur qui était signalée dans la question, mais il y avait de nombreuses erreurs de compilation avant cela.
ex.
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')
J'ai finalement réalisé que j'avais mis à niveau mon environnement sans mettre à jour ma version Xcode ciblée dans TravisCI.
En changeant...
osx_image: xcode8.3
à...
osx_image: xcode9.3
dans mon .travis.yml
corrigé cela pour moi.