Je reçois cette erreur lorsque j'essaie de tester une application.
Un seul appareil construit ne peut pas être utilisé pour exécuter cette cible.
Aucun appareil iOS pris en charge n'est disponible. Connectez un périphérique pour exécuter votre application ou choisissez un périphérique simulé comme destination.
ajoutez -destination 'platform=iOS Simulator,name=iPhone 6,OS=9.3'
à votre xcodebuild
Vous devez obtenir une liste de destinations valides. Pour ce faire, spécifiez une paire clé-valeur erronée et xcodebuild crache les combinaisons qui fonctionnent:
Commande de liste des destinations
xcodebuild test -destination 'platform=iOS Simulator' -workspace Register.xcworkspace -scheme ThatTestTarget
Exemple de sortie
Available destinations for the "ThatTestTarget" scheme:
{ platform:iOS Simulator, id:145A9B7E-B336-4819-8059-2FFEC408E05E, OS:11.1, name:iPad (5th generation) }
{ platform:iOS Simulator, id:69ABAF6F-ADA3-4E38-AC97-D71001447663, OS:9.3, name:iPad 2 }
{ platform:iOS Simulator, id:550E2F18-406D-4586-84BB-E48F1D704F27, OS:10.3.1, name:iPad Air }
{ platform:iOS Simulator, id:94734F1C-775F-40FA-9015-8196C08805EF, OS:11.1, name:iPad Air }
{ platform:iOS Simulator, id:1DB953DD-CD97-4EC7-8006-BCF01DF3E63F, OS:11.1, name:iPad Air 2 }
{ platform:iOS Simulator, id:DE3072DA-2E31-423D-9D77-220626F8B90A, OS:11.1, name:iPad Pro (9.7-inch) }
{ platform:iOS Simulator, id:3B5D18DB-13B5-4F28-B654-7D2ECDD1F6F0, OS:11.1, name:iPad Pro (10.5-inch) }
{ platform:iOS Simulator, id:A4225E3A-512C-4F42-ADD9-1E7E448C4D27, OS:11.1, name:iPad Pro (12.9-inch) }
{ platform:iOS Simulator, id:684FF1BA-8784-4B7C-B4E5-5231772F0FAC, OS:11.1, name:iPad Pro (12.9-inch) (2nd generation) }
Changer les points pour des signes d'égalité, supprimer des espaces, ignorer l'ID
Donc si vous voulez utiliser cette destination:
platform:iOS Simulator, id:684FF1BA-8784-4B7C-B4E5-5231772F0FAC, OS:11.1, name:iPad Pro (12.9-inch) (2nd generation)
Changez les deux points pour les virgules, supprimez les espaces, supprimez l'ID pour obtenir la chaîne
platform=iOS Simulator,OS=11.1,name=iPad Pro (12.9-inch) (2nd generation)
Alors la commande entière serait:
xcodebuild test -destination 'platform=iOS Simulator,OS=11.1,name=iPad Pro (12.9-inch) (2nd generation)' -workspace Register.xcworkspace -scheme ThatTestTarget
je rencontre un problème qui dit que seul "Périphérique iOS générique" peut être choisi ... et que je lance, il est indiqué. " appareil pour exécuter votre application ou choisir un appareil simulé comme destination "
et ma solution au problème consiste à sélectionner les paramètres de construction ---> Deployment -----> IOS Deployment Target ----> choisissez une version plus basse comme 8.0
et j'ai trouvé le simulateur sortir et peut être choisi.
Vous construisez pour "Build Only Device" de Xcode, qui compile l'application. pour le processeur ARM (alors que la compilation pour le simulateur cible le processeur Intel sur votre Mac.)
Branchez un appareil et sélectionnez-le dans la fenêtre contextuelle du schéma actif, ou sélectionnez l'un des simulateurs et vous devriez être prêt à partir.
Avec XCode 8.3.2, j'avais ce message d'erreur après avoir essayé d'exécuter l'application sur un appareil verrouillé. J'ai déverrouillé et recollé à la demande, mais le périphérique "Un build uniquement ne peut pas être utilisé pour exécuter cette cible". le message est apparu.
J'ai simplement remplacé la cible par un simulateur, puis rétabli - cela a résolu mon problème.
Modification de la réponse de @ Quver. Avec la dernière version de Xcode (8.3), les paramètres de la commande de destination doivent être donnés entre guillemets. Les guillemets simples n'ont pas fonctionné pour moi
ajoutez -destination "platform=iOS Simulator,name=iPhone 7"
à votre xcodebuild
Je n'ai pas mentionné la version du système d'exploitation dans la commande ci-dessus, car lorsqu'une nouvelle version d'iOS est publiée, cette commande signale par erreur que cet appareil est introuvable. Donc, il vaut mieux ne pas donner la version du système d'exploitation
Pour ce que cela vaut, si vous obtenez l'erreur A build only device cannot be used to run this target
et que vous voyez ce texte dans le navigateur de problème:
Nom du projet
Intégrité de la cible:
La cible de déploiement iOS 'XX.X' est
plus récent que le SDK 'iOS YY.Y' dans
target ProjectName
le problème est alors que le projet nécessite un SDK iOS plus récent que celui disponible dans votre version de Xcode. Vous trouverez ce problème dans, par exemple, des projets tirant parti des nouvelles fonctionnalités/SDA du SDK iOS, telles que ARKit.
La solution consiste à télécharger la dernière version bêta de Xcode , qui devrait prendre en charge le SDK iOS publié non public que l’application nécessite. Si vous possédez le dernier Xcode, essayez de trouver l'iOS cible dans Preferences -> Components -> Simulators
.
J'ai essayé presque tout ce qui précède, y compris le redémarrage de XCode, aucun d'entre eux ne fonctionnait pour moi. J'ai résolu ce problème simplement en redémarrant mon Mac. Oui, la solution classique.
Remarque secondaire: ce problème est survenu dans mon code X après avoir demandé mon mot de passe Mac, probablement après une mise à niveau automatique.
Eh bien, si vous voulez obtenir la liste des destinations disponibles, appelez xcodebuild et transmettez l’option de ligne de commande -showdestinations
, et les options valides à imprimer seront choisies parmi les suivantes:
xcodebuild -showdestinations -workspace Register.xcworkspace -scheme ThatTestTarget
les choses xcodebuild ne fonctionnaient pas dans mon cas.
Voici ce que j'ai résolu.
J'ai supprimé mon compte Apple et rétabli (connexion) sur la préférence xcode, .__, ce qui a été résolu.
ps. sur l'iphone 10.1, j'avais besoin d'appuyer sur le bouton de confiance dans Général> Gestion des périphériques> Informations de compte> Trust App
J'ai résolu ce problème en allant dans les paramètres du projet. Dans la section "Cibles", je devais définir la cible des tests sur la bonne équipe.
J'ai corrigé ce problème pour l'émulateur,
Tout d'abord, vérifiez votre liste d'émulateurs
Fenêtre> Appareils et simulateurs
après choisir un périphérique et cliquez sur vérifier la version du système d'exploitation
Si vous ne disposez que du système d'exploitation Apple Watch, vous devez télécharger le nouveau simulateur IOS.
et cliquez sur télécharger plus de runtimes de simulateur ..
choisissez votre bon simulateur IOS et téléchargez-le.