web-dev-qa-db-fra.com

Un appareil uniquement construit ne peut pas être utilisé pour exécuter cette cible

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.

61
yrpalnoob

ajoutez -destination 'platform=iOS Simulator,name=iPhone 6,OS=9.3' à votre xcodebuild

69
Quver

Peut-être que le schéma est passé à un appareil générique. Essayez de choisir à nouveau le périphérique connecté dans le menu Schéma:

 Menu image

30
Cue

Ci-dessous est mon chemin

Sélectionnez projet -> Général -> Informations de déploiement -> Cible de déploiement -> choisissez une version inférieure  enter image description here

9
米米米

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
6
Dan Rosenstark

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. 

5
Mr.yl

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.

4
Walt

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.

3
poima

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

1
Arun

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.

0

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.

0
Teo

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
0
C Johnson

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

0
jwjin

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.

0
Lord Fresh

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.

0
Berat Eyüboğlu
  1. J'ai postulé pour un nouvel AppleID et je l'ai ajouté à "Xcode-> Préférences-> Compte" pour résoudre ce problème. (Xcode 7.3)
  2. En même temps, j'ai supprimé l'ID AppleID d'origine dans "Xcode-> Préférences-> Compte", car ce n'était plus un compte payant et je ne pouvais pas ajouter de nouveaux appareils.
0
Zack Zhang