web-dev-qa-db-fra.com

Impossible d'exécuter des tests unitaires dans Xcode 11: la destination d'exécution * n'est pas valide pour les tests que vous avez choisi d'effectuer

Je suis presque sûr que mes tests fonctionnaient bien avant de passer de Xcode 10.3 à Xcode 11. Maintenant, lorsque j'essaie d'exécuter un test, j'obtiens l'erreur suivante.

Xcode Error Alert La destination d'exécution de l'iPhone 5s n'est pas valide pour les tests que vous avez choisi d'effectuer. Veuillez sélectionner une destination d'exécution qui prend en charge les tests que vous souhaitez effectuer.

À titre expérimental, j'ai essayé de créer une toute nouvelle cible de test et d'exécuter les exemples de tests qu'elle vous donne et l'erreur est la même. J'ai également essayé avec différents simulateurs.

18
Mark Bridges

Vérifiez vos cibles: (cible de test) -> Paramètres de construction -> Déploiement -> iOS
Cible de déploiement: sélectionnez une version iOS inférieure, par exemple: iOS 10.0

Cela résoudra votre problème.

15
Duke peng

Pour moi, ma famille d'appareils ciblés dans les paramètres de construction de ma cible de test était uniquement pour iPad, tandis que la famille d'appareils ciblés était universelle pour la cible de l'application.

J'ai dû changer la famille d'appareils ciblés en universelle pour que ma cible de test corresponde à la famille d'appareils ciblés pour l'application.

C'était:

enter image description here

J'ai dû changer pour:

enter image description here

3
Chris Livdahl

Essayez différents simulateurs,

pour moi, cela a été résolu en passant à mon appareil connecté, exécutez le test, puis revenez au simulateur.

1
polarware

Si vous créez un nouveau projet à l'aide de Xcode 11 (le mien était Xcode 11.2.1), la cible de déploiement iOS par défaut est définie sur iOS 13. Cela vous empêche d'exécuter l'application sur des appareils iOS inférieurs à 13 et vous oblige à modifier la cible de déploiement (disons à iOS 12 pour prendre en charge ces appareils).

Les modifications ci-dessus peuvent être effectuées en cliquant sur le projet -> Cible -> "APP TARGET" -> Général. Cependant, la cible de test unitaire a également une cible de déploiement iOS qui n'est pas affichée dans l'onglet Général. Cela peut être vu dans les paramètres de build (projet -> Target -> "UNIT TEST TARGET" -> Build Settings et tapez "Deployment Target" dans la boîte de recherche). Voir la réponse de @Chris Livdahl. Cela doit également être modifié (idéalement vers la même version cible que l'application) afin de résoudre le problème.

1
Shavi