Ich kann meine App in Instruments nicht starten: Mindestens ein Ziel konnte nicht gestartet werden

98

Ich habe alle meine Codesignaturberechtigungen richtig eingestellt. Das Ausführen der App auf meinem Telefon ist in Ordnung, aber das Starten in Instrumenten gibt eine Fehlermeldung aus:

Error Starting Recording
At least one target failed to launch; aborting run

Und dann:

Target failed to run. Permisson to debug [app name] was denied. The app must be signed with a development identity (i.e. iOS Developer)

Irgendwelche Ideen, wie ich das verhindern könnte? Kommt auf meinem iPad nicht vor.

Andrew
quelle

Antworten:

217

Bearbeiten Sie das Schema für Ihr Ziel und setzen Sie unter "Profil [App-Name]" die Build-Konfiguration auf Debug (normalerweise standardmäßig freigegeben).

harrywynn
quelle
6
+1, danke, das hat mir geholfen. Ich würde hinzufügen, dass ich das Projekt erstellen musste, nachdem ich die Konfiguration auf Debug gesetzt hatte oder Instrumente immer noch keinen Ball spielen würden.
Robert
4
Obwohl ich weiß, dass diese "Konfiguration in Debug ändern" falsch ist, habe ich keine Lösung für dieses Problem. Im Allgemeinen ist es weitaus weniger nützlich / üblich, einen Debug-Build zu profilieren.
user501138
1
Dies liegt daran, dass Release häufig ein Produktionszertifikat verwendet.
Evgeny Aleksandrov
Ich habe sichergestellt, dass das Profilschema die Debug-Konfiguration (Entwicklerprofil) verwendet, und ich stoße immer noch auf dieses Problem. Dies ist ein Unternehmensentwicklerzertifikat, obwohl ich nicht erwarten würde, dass dies von Bedeutung ist. Irgendwelche Gedanken?
Brody Robertson
3
Ich habe das gleiche Problem. Das Profilieren Ihrer App mit Debug-Konfiguration ist kein gültiger Leistungstest, da der Compiler den Code nicht wie für Adhoc optimiert hat. Hat jemand das AdHoc-Problem herausgefunden?
Fergal Rooney
34

Es heißt, dass Sie die App mit einem Entwicklerzertifikat (nicht mit einem Verteilungszertifikat ) signieren müssen .

Ändern "Provisioning Profile"Sie "Release"in Xcode 5 einfach das Feld für Ihren Build in den Build-Einstellungen in Ihr Entwicklerzertifikat anstelle Ihres Verteilungszertifikats. Für die Dauer des Tests sowieso. Mit Xcode können Sie nicht mit einem Verteilungszertifikat erstellen.

Stellen Sie sicher , dass die Projekterstellungseinstellungen , die nicht außer Kraft setzen Ziel Build - Einstellungen oder die Änderung in Ihrem machen Projekt Build - Einstellungen.

Vergessen Sie nicht, das Profil zurückzusetzen, nachdem Sie mit dem Testen fertig sind.

Ich empfehle die Methode von harrywynn nicht, da es besser ist, das Release-Build zu profilieren, da Sie dann die Compiler-Optimierungen berücksichtigen und genau die Erfahrung haben, die Ihre Benutzer machen werden.

Zoltán Matók
quelle
1
Erstens benötigt es ein Entwicklungsprofil, was bedeutet, dass es sich im Debug-Modus befinden muss. Zweitens werden Entwickler wahrscheinlich mit Entwicklungs-Builds arbeiten, es sei denn, Apple ändert es in das Distributionsprofil. Drittens, Sie erstellen ein Profil, es sollte ein Entwicklungs-Build (Debug-Build) sein. Viertens, warum sollten Sie ein Entwicklungsprofil für ein Release-Schema verwenden?
Angelo
4
"Erstens benötigt es ein Entwicklungsprofil, was bedeutet, dass es sich im Debug-Modus befinden muss." Sie können jede Konfiguration mit jedem Profil ausführen. "Drittens, Sie erstellen ein Profil, es sollte ein Entwicklungs-Build (Debug-Build) sein." Sie sollten ein Profil mit dem Release-Build erstellen, um die Compiler-Optimierungen zu berücksichtigen. Möglicherweise erhalten Sie unterschiedliche Ergebnisse. "Viertens, warum sollten Sie ein Entwicklungsprofil für ein Release-Schema verwenden?" Denn das ist die einfachste Lösung für dieses Problem. Und Sie sollten das Profil wieder ändern, wenn Sie zum Testen bereit sind, wie ich in meiner Antwort geschrieben habe.
Zoltán Matók
9

Zu den vorherigen Antworten hinzufügen.

  • Instruments beschwert sich über die Signaturidentität .
  • Ich glaube , dass es vorzuziehen ist , um das Profil im Release - Modus, aus den gleichen Gründen von Zolten gegeben. (Berücksichtigen Sie die Compiler-Optimierungen und haben Sie genau die Erfahrung, die Ihre Benutzer usw. machen werden.)
  • So ändern Sie Ihre Codesignaturidentität für Xcode 6 :
    • Klicken Sie auf Ihr Projekt und wählen Sie das Ziel aus, für das Sie ein Profil erstellen.
    • Build-Einstellungen -> Codesignatur -> Codesignaturidentität -> Freigabe
    • Wählen Sie Ihr iOS-Entwicklerprofil.
  • Bereitstellungsprofil: Lassen Sie Xcode das richtige Bereitstellungsprofil für Sie auswählen, z. B.: Wechseln Sie zu Automatisch
  • Wenn Sie mit dem Profil fertig sind, kehren Sie zu Ihren normalen Einstellungen zurück .

Hier ist ein Bild für diejenigen, die sehr visuell sind;)

Geben Sie hier die Bildbeschreibung ein

Dornad
quelle
1

Ich habe das gleiche Problem erhalten: [INST STDERR] Instruments Trace Error: Ziel konnte nicht ausgeführt werden: Die Berechtigung zum Debuggen wurde verweigert. Die App muss mit einer Entwicklungsidentität signiert sein (z. B. iOS Developer).

Lösung: 1. Ich habe die App mit dem Debug Developer Profile in xcode for device archiviert. 2. Gehen Sie zu Fenster -> Organizer ->, um die gesamte Liste der Archies anzuzeigen. 3. Wählen Sie nun das zu exportierende Archiv aus und öffnen Sie es im Finder. 4. Klicken Sie mit der rechten Maustaste und zeigen Sie den Paketinhalt an. 5. Gehen Sie zum Ordner Produkte / Anwendungen Sie sehen die .app-Datei.

Verwenden Sie dies anstelle des ipa.

Stellen Sie sicher, dass das Gerät bereits zum Entwicklerportal hinzugefügt wurde und alle Zertifikate darauf installiert sind, damit die oben genannten Schritte funktionieren.

Sobald dies geschehen ist. Stellen Sie außerdem sicher, dass Sie den ios-webkit-debug-proxy über den folgenden Link erhalten:

https://github.com/appium/appium/blob/master/docs/en/advanced-concepts/ios-webkit-debug-proxy.md

Aktivieren Sie außerdem die Entwicklertools in der Geräteeinstellung. Stellen Sie außerdem sicher, dass der Safari-Webinspektor (Safari -> Entwickeln) -> Inspektor aktiviert ist. Ich hoffe, es hilft :-)

HINWEIS: Wenn Appium die App für Sie auf dem Gerät installieren soll, geben Sie keine Bundle-ID an.

Swathy Valluri
quelle
Die App-Datei befindet sich unter Produkte -> Anwendungen unter dem Paketinhalt
swathy valluri
0

Ich habe dieses Problem auf meinem Computer folgendermaßen gelöst:

  • Generieren Sie ein neues Developer Provisioning-Profil mit Ihrem Gerät in der Liste oder stellen Sie zumindest sicher, dass sich Ihr Computer in der Liste des Geräts des Profils befindet.
  • In Projekteinstellungen -> Codesignatur -> Bereitstellungsprofil -> Debuggen: Legen Sie das neu erstellte Profil fest.
  • In den Zieleinstellungen -> Codesignatur -> Bereitstellungsprofil -> Debuggen UND Freigeben: Legen Sie das neu erstellte Profil fest.

Hoffentlich hilft das.

Sèb
quelle
0

Mir wurde klar, was "Mindestens ein Ziel konnte nicht gestartet werden" bedeutet. Es scheint, dass sowohl das Entwicklungs- als auch das Release-Schema (wenn Sie ein Debug-Schema und ein Release-Schema haben) eine Entwicklungsidentität haben müssen.

Ich hatte das Debug-Schema ausgewählt, als der Profiler ausgeführt wurde, und die Meldung oben in XCode lautete "Debug ausführen". Dies scheint jedoch nicht ausreichend zu sein.

Ich habe meine Code-Signatur-Identität für das Release-Schema so geändert, dass sie mit dem Debug-Schema (und auch dem Bereitstellungsprofil) übereinstimmt, und das Problem ist behoben.

Matt
quelle
0

Es funktionierte. Als ich mein Profilschema in den Debug-Modus änderte und außerdem sicherstellte, dass Build Configs ein Entwicklerzertifikat enthält. Vielen Dank

ck8414
quelle
0

Keine der anderen Lösungen hier hat mein Problem behoben, aber ich habe festgestellt, dass es nur ein Problem für mich im Simulator ist. Das Gerät funktioniert einwandfrei. Vielleicht gibt es ein Problem mit dem Simulator.

John Bushnell
quelle
0

Ich habe dieses Problem mit Xcode 9.1 sowohl für Simulatoren als auch für Geräte festgestellt, und mein laufendes Schema wurde bereits mit "Debug" als Profilerstellung festgelegt. Endlich fand diese Apple Forum Diskussion sehr hilfreich und hat das Problem gelöst. Kurz gesagt, die Lösung, die für mich funktioniert hat, ist ... Starten Sie den Mac neu.

CodeBrew
quelle