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.
Antworten:
fügen Sie
-destination 'platform=iOS Simulator,name=iPhone 6,OS=9.3'
Ihrem hinzuxcodebuild
quelle
xcodebuild test -project YourProject.xcodeproj -scheme YourProject -destination 'platform=iOS Simulator,name=iPhone 6,OS=9.3'
xcodebuild
. Alles was Sie brauchen, ist diesen Befehl mit ParameternMöglicherweise hat das Schema auf ein generisches Gerät umgestellt. Versuchen Sie erneut, das angeschlossene Gerät aus dem Menü Schema auszuwählen:
quelle
Unten ist mein Weg
Wählen Sie Projekt -> Allgemein -> Bereitstellungsinformationen -> Bereitstellungsziel -> wählen Sie eine niedrigere Version
quelle
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.
quelle
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
quelle
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.
quelle
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.
quelle
Was es wert ist, wenn Sie den Fehler erhalten
A build only device cannot be used to run this target
und im Problemnavigator diesen Text sehen: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
.quelle
Wenn Sie Cordova / Ionic verwenden, gehen Sie zu Produkte -> Ziel-> Wählen Sie das Ziel und führen Sie es erneut aus
quelle
Ä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
quelle
quelle
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
quelle
Ich habe dieses Problem für den Emulator behoben.
Überprüfen Sie zunächst Ihre Emulatorliste
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.
quelle
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.
quelle
Wenn Sie die Liste der verfügbaren Ziele abrufen möchten, rufen Sie xcodebuild auf und übergeben Sie die Befehlszeilenoption.
-showdestinations
Es werden gültige Optionen gedruckt, aus denen Sie auswählen können:xcodebuild -showdestinations -workspace Register.xcworkspace -scheme ThatTestTarget
quelle
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.
quelle
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:
quelle
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
quelle
Ich habe die gleiche Fehlermeldung festgestellt. Folgendes habe ich bisher erlebt und getan:
Ich bin kein Experte, ich wollte nur meine Erfahrungen teilen und ich hoffe, dass dies jemandem helfen kann.
quelle
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.
quelle
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
Erstellen Sie dann mit Ihrem Gerät, das aus den aktiven Schemata ausgewählt wurde.
quelle