Ein Nur-Build-Gerät kann nicht zum Ausführen dieses Ziels verwendet werden

85

Ich erhalte diesen Fehler, wenn ich versuche, eine App zu testen.

Ein Nur-Build-Gerät kann nicht zum Ausführen dieses Ziels verwendet werden.

Es sind keine unterstützten iOS-Geräte verfügbar. Schließen Sie ein Gerät an, um Ihre Anwendung auszuführen, oder wählen Sie ein simuliertes Gerät als Ziel.

yrpalnoob
quelle
Wenn Sie ein Gerät verwenden und über ein Apple-Entwicklerkonto verfügen, löschen Sie die App von Ihrem Gerät und führen Sie sie aus.
BollMose

Antworten:

78

fügen Sie -destination 'platform=iOS Simulator,name=iPhone 6,OS=9.3'Ihrem hinzuxcodebuild

Quver
quelle
7
Erläuterung: Xcode versucht, mit dem generischen iOS-Gerät zu erstellen, der Test muss jedoch im Simulator erstellt werden.
Adriana
7
Ein vollständiger und funktionierender Befehl:xcodebuild test -project YourProject.xcodeproj -scheme YourProject -destination 'platform=iOS Simulator,name=iPhone 6,OS=9.3'
Jianxin Gao
/ usr / bin / xcodebuild ist eine Binärdatei. Sie sollten es wahrscheinlich nicht ändern.
Per Quested Aronsson
Warum möchten Sie es ändern?
Quver
Sie müssen dies nicht hinzufügen xcodebuild. Alles was Sie brauchen, ist diesen Befehl mit Parametern
auszuführen
44

Möglicherweise hat das Schema auf ein generisches Gerät umgestellt. Versuchen Sie erneut, das angeschlossene Gerät aus dem Menü Schema auszuwählen:

Menübild

Stichwort
quelle
18

Unten ist mein Weg

Wählen Sie Projekt -> Allgemein -> Bereitstellungsinformationen -> Bereitstellungsziel -> wählen Sie eine niedrigere Version Geben Sie hier die Bildbeschreibung ein

米米米
quelle
1
Dieser Fall ist nützlich, wenn Sie ein Projekt mit einem Bereitstellungsziel importieren, das höher als Ihr lokales Bereitstellungsziel ist. Durch Verringern kann das Problem
behoben werden
7

Ich stoße auf ein Problem, dass nur "Generisches iOS-Gerät" ausgewählt werden kann. und wenn ich es ausführe, heißt es: "Ein Nur-Build-Gerät kann nicht zum Ausführen dieses Ziels verwendet werden. Es sind keine unterstützten iOS-Geräte verfügbar. Schließen Sie ein Gerät an, um Ihre Anwendung auszuführen, oder wählen Sie ein simuliertes Gerät als Ziel aus."

und meine Lösung für das Problem ist die Auswahl von Build-Einstellungen ---> Bereitstellung -----> IOS-Bereitstellungsziel ----> Wählen Sie eine niedrigere Version wie 8.0,

und ich fand den Simulator herauskommen und kann ausgewählt werden.

Mr.yl
quelle
Haben Sie Simulatoren mit einer neueren Betriebssystemversion installiert? Gehen Sie zu Xcode -> Einstellungen -> Downloads, um die Liste der kompatiblen Legacy-Simulator-Laufzeiten anzuzeigen.
Lepidopteron
7

Sie benötigen eine Liste der gültigen Ziele. Geben Sie dazu ein fehlerhaftes Schlüssel-Wert-Paar an, und xcodebuild spuckt die funktionierenden Kombinationen aus:

Befehl Ziele auflisten

xcodebuild test -destination 'platform=iOS Simulator' -workspace Register.xcworkspace -scheme ThatTestTarget

Ausgabebeispiel

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) }

Ändern Sie Doppelpunkte für Gleichheitszeichen, entfernen Sie Leerzeichen, ignorieren Sie die ID

Wenn Sie dieses Ziel verwenden möchten:

platform:iOS Simulator, id:684FF1BA-8784-4B7C-B4E5-5231772F0FAC, OS:11.1, name:iPad Pro (12.9-inch) (2nd generation)

Ändern Sie die Doppelpunkte für Kommas, entfernen Sie die Leerzeichen und die ID, damit Sie die folgende Zeichenfolge erhalten:

platform=iOS Simulator,OS=11.1,name=iPad Pro (12.9-inch) (2nd generation)

Dann wäre der gesamte Befehl:

xcodebuild test -destination 'platform=iOS Simulator,OS=11.1,name=iPad Pro (12.9-inch) (2nd generation)' -workspace Register.xcworkspace -scheme ThatTestTarget
Dan Rosenstark
quelle
4

Sie erstellen für Xcodes "Build Only Device", das die App kompiliert. für den ARM-Prozessor (während das Kompilieren für den Simulator auf die Intel-CPU auf Ihrem Mac abzielt.)

Schließen Sie ein Gerät an und wählen Sie es aus dem aktiven Schema-Popup aus, oder wählen Sie einen der Simulatoren aus, und schon kann es losgehen.

Walt
quelle
Ich nenne mich nicht einen Turm, weil ich gut in diesem Zeug bin ... Danke 2 Stunden verschwendet ha ....
yrpalnoob
3

Mit XCode 8.3.2 wurde diese Fehlermeldung angezeigt, nachdem ich versucht hatte, die App auf einem gesperrten Gerät auszuführen. Ich habe wie gewünscht entsperrt und erneut verbunden, aber das "Nur ein Build-Gerät kann nicht zum Ausführen dieses Ziels verwendet werden." Nachricht erschien.

Ich habe das Ziel einfach in einen Simulator geändert und es wieder geändert - es hat mein Problem behoben.

Catanore
quelle
2

Was es wert ist, wenn Sie den Fehler erhalten A build only device cannot be used to run this targetund im Problemnavigator diesen Text sehen:

Projektname
Ziel Integrität:
iOS Deployment Target 'XX , X' ist
neuer als SDK 'iOS yy.y' in
Zielprojektname

Dann besteht das Problem darin, dass für das Projekt ein iOS-SDK erforderlich ist, das neuer ist als die von Ihrer Xcode-Version verfügbare. Sie finden dieses Problem beispielsweise in Projekten, die neue / Beta-iOS-SDK-Funktionen wie ARKit nutzen.

Die Lösung besteht darin, die neueste Beta-Version von Xcode herunterzuladen , die Unterstützung für das nicht öffentlich veröffentlichte iOS SDK bieten sollte , das für die Anwendung erforderlich ist. Wenn Sie den neuesten Xcode haben, versuchen Sie, das Ziel-iOS in zu finden Preferences -> Components -> Simulators.

Daniel R. Livingston
quelle
2

Wenn Sie Cordova / Ionic verwenden, gehen Sie zu Produkte -> Ziel-> Wählen Sie das Ziel und führen Sie es erneut aus

BenjaBoy
quelle
1

Änderung der Antwort von @ Quver. Bei der neuesten Xcode-Version (8.3) sollten die Parameter für den Zielbefehl in doppelten Anführungszeichen angegeben werden. Einfache Anführungszeichen haben bei mir nicht funktioniert

fügen Sie -destination "platform=iOS Simulator,name=iPhone 7"Ihrem hinzuxcodebuild

Ich habe die Betriebssystemversion im obigen Befehl nicht erwähnt, da bei der Veröffentlichung einer neueren Version von iOS dieser Befehl durch einen Fehler anzeigt, dass dieses Gerät nicht gefunden wurde. Es ist also besser, keine Betriebssystemversion anzugeben

Arun
quelle
0
  1. Ich habe eine neue AppleID beantragt und sie dem "Xcode-> Einstellungen-> Konto" hinzugefügt, um dieses Problem zu lösen. (Xcode 7.3)
  2. Gleichzeitig habe ich die ursprüngliche AppleID unter "Xcode-> Einstellungen-> Konto" gelöscht, da es sich nicht mehr um ein kostenpflichtiges Konto handelt und keine neuen Geräte hinzugefügt werden können.
Zack Zhang
quelle
0

xcodebuild Dinge funktionierten in meinem Fall nicht.

Folgendes habe ich gelöst.

Ich habe mein Apple-Konto entfernt und die Xcode-Einstellung neu festgelegt (Login), und dies wurde behoben.

ps. Auf dem iPhone 10.1 musste ich die Schaltfläche Vertrauen unter Allgemein> Geräteverwaltung> Kontoinformationen> Vertrauens-App drücken

Jungwon Jin
quelle
0

Ich habe dieses Problem für den Emulator behoben.

Überprüfen Sie zunächst Ihre Emulatorliste

Fenster> Geräte und Simulatoren

Nachdem Sie ein Gerät ausgewählt haben, klicken Sie auf Betriebssystemversion überprüfen

Wenn Sie nur Apple Watch OS haben, sollten Sie den neuen IOS Simulator herunterladen

und klicken Sie auf Weitere Simulator-Laufzeiten herunterladen.

Wählen Sie Ihren richtigen IOS-Simulator und laden Sie ihn herunter.

Berat Eyüboğlu
quelle
0

Ich habe dieses Problem behoben, indem ich zu den Projekteinstellungen gegangen bin. In meinem Abschnitt "Ziele" musste ich das Testziel auf das richtige Team festlegen.

Lord Fresh
quelle
0

Wenn Sie die Liste der verfügbaren Ziele abrufen möchten, rufen Sie xcodebuild auf und übergeben Sie die Befehlszeilenoption. -showdestinationsEs werden gültige Optionen gedruckt, aus denen Sie auswählen können:

xcodebuild -showdestinations -workspace Register.xcworkspace -scheme ThatTestTarget
C Johnson
quelle
0

Ich habe fast alles oben versucht, einschließlich des Neustarts von XCode. Keiner von ihnen hat für mich funktioniert. Ich habe dieses Problem gelöst, indem ich einfach meinen Mac neu gestartet habe . Ja, die klassische Lösung.

Eine Randnotiz: Dieses Problem trat bei meinem XCode auf, nachdem er mein Mac-Passwort von mir angefordert hatte, wahrscheinlich nach einem automatischen Upgrade.

Ted
quelle
0

Für xcode v11:

Ich bin auf dieses Problem gestoßen, als ich versucht habe, ein Archiv meines Projekts zu erstellen. Ich habe versucht, auf "Erstellen" zu klicken, als das Gerät auf "Generisches iOS-Gerät" eingestellt war, aber die richtigen Schritte waren:

  1. Stellen Sie das Gerät auf "Generisches iOS-Gerät".
  2. Gehen Sie zu Produkt -> Archivieren ( überspringen Sie das Drücken von Erstellen! ).
Fehlerhafter Philosoph
quelle
0

In meinem Fall geschah dies, als ich ein generisches iOS-Gerät auswählte und versuchte, es zu "erstellen", um es im AppStore zu veröffentlichen.
Aber ich hätte stattdessen Produkt -> Archiv wählen sollen

Leo Droidcoder
quelle
0

Ich habe die gleiche Fehlermeldung festgestellt. Folgendes habe ich bisher erlebt und getan:

Schritt 1: Überprüfen Sie Ihr Ziel.

Mein aktuelles Ziel ist IOS 13.2. Von hier aus sehen Sie nicht, welche Versionen Sie derzeit auf Ihrem Computer haben.

Geben Sie hier die Bildbeschreibung ein

Schritt 2: Überprüfen Sie die verfügbaren Versionen auf Ihrem lokalen

  • Klicken Sie auf das generische IOS-Gerät

Geben Sie hier die Bildbeschreibung ein

  • Daraufhin wird ein Dropdown-Menü angezeigt, das eine Auswahl von Download Simulators ... enthält
  • Falls die Auswahl Simulatoren herunterladen ... nicht sichtbar ist, müssen Sie Ihr Ziel senken. In meinem Fall habe ich ab 13.2 13.0 erstellt (dies hängt von Ihrem aktuellen XCode ab) und dann Schritt 2 erneut wiederholt
  • Von hier aus kann ich jetzt die Auswahl Download Simulators ... sehen
  • Wählen Sie es aus

Geben Sie hier die Bildbeschreibung ein

  • Sie werden nun sehen, welche verfügbaren Versionen Sie haben
  • Von hier aus können Sie entweder die Version herunterladen oder verwenden, die Sie haben (die ausgewählte).

Geben Sie hier die Bildbeschreibung ein

Schritt 3: Ändern Sie Ihr IOS-Ziel entsprechend

  • Nachdem Sie bereits wissen, welche Versionen des Simulators lokal verfügbar sind, können Sie das IOS-Ziel ändern.
  • In meinem Fall verwende ich IOS 11 (nur für dieses Beispiel)
  • Dann ändere ich das Ziel

Geben Sie hier die Bildbeschreibung ein

  • Klicken Sie erneut auf das generische IOS-Gerät

Geben Sie hier die Bildbeschreibung ein

  • Von hier aus können Sie jetzt einen beliebigen Simulator unter diesem IOS auswählen

Geben Sie hier die Bildbeschreibung ein

Ich bin kein Experte, ich wollte nur meine Erfahrungen teilen und ich hoffe, dass dies jemandem helfen kann.

newProgramm3r
quelle
-1

Ich hatte ein ganz anderes Problem. Aus irgendeinem Grund wurde meine App " Geräte " im Gegensatz zum iPhone auf Universal Build eingestellt . Als ich es auf das iPhone umstellte, funktionierte alles. Benötigte keine zusätzlichen Einstellungen.

Amir J.
quelle
-2

Das hat bei mir funktioniert.

Sie versuchen, auf einem Gerät ausgeführt zu werden, wenn Sie es bereits für ein anderes Schema erstellt haben. Gehe zu

Produkt> Reinigen.

Erstellen Sie dann mit Ihrem Gerät, das aus den aktiven Schemata ausgewählt wurde.

C. Walther
quelle