Xcode: Die Aufgabe für den Prozess konnte nicht abgerufen werden

255

Ich habe meine App im Release-Modus auf einem iPhone mit Xcode 4 ausgeführt.

Alles hat super funktioniert, bis ich zum Simulator wechselte und wieder zum iPhone wechselte. Nach dem Zurückschalten wird die App auf dem iPhone gestartet, aber der Startbildschirm wird unmittelbar nach und in Xcode angezeigt. Ich erhalte:

failed to get the task for process 

Ich habe versucht, die Berechtigungsdatei zu entfernen / hinzuzufügen, die App zu löschen und Xcode neu zu starten, aber nichts zu tun.

aneuryzm
quelle
Haben Sie versucht, die Bundle-ID zu ändern?
RakeshNS

Antworten:

666

Ich wette, dass Ihr Release-Modus das Kompilieren mit Ihrem Distributionszertifikat umfasst, was dieses Verhalten nicht zulässt (Sie möchten nicht, dass sich ein zufälliger Narr in Ihre App einfügt, nachdem Sie sie aus dem App Store heruntergeladen haben). Kompilieren Sie stattdessen mit dem Entwicklungszertifikat. Sie können dies in den Gebäudeeinstellungen unter Codesignatur ändern.

borrrden
quelle
Ok, jetzt fühle ich mich dumm ... Ich habe fälschlicherweise Bereitstellung -> iPad gewählt und diesen Fehler erhalten. Konnte nicht herausfinden, warum für mein Leben, bis ich es realisierte, es auf Entwicklung -> iPad umstellte und es funktionierte. Duh! : P
Joel Martinez
3
Stellen Sie sicher, dass das richtige Ziel ausgewählt ist und dass Sie die Codezeicheneinstellungen für den Test / das andere Ziel nicht anpassen.
Vincil Bishop
11
Sie wundern sich, warum Apple uns keinen nützlicheren Fehler wie "Bitte verwenden Sie ein Debug-Profil" geben würde
inorganik
7
Alle meine Erfahrungen mit der Entwicklung für Apple-Plattformen sind pure Schmerzen. Ich weiß nicht, wie sie so wenig Respekt vor sich selbst haben können
noncom
1
Ja, ich hatte den gleichen Fehler gemacht: Xcode wurde glücklich erstellt und ich konnte versuchen, eine App auszuführen, in der ich ein vorläufiges Profil mit einem Verteilungszertifikat (anstelle eines Entwicklungszertifikats) ausgewählt hatte. Aber im Ernst, WARUM ... Warum kann Xcode keine halbwegs nützliche Fehlermeldung ausgeben, um Sie auf dieses Problem aufmerksam zu machen? Es ist 2016. Wird Xcode jemals erwachsen und sieht aus wie eine halbwegs anständige Umgebung ?!
Mike Gledhill
24

Ändern Sie das Profil für die Codesignatur. Wählen Sie Ihr Projekt aus und gehen Sie zu Build Settings> Code Signing Identity. Wechseln Sie zu einem anderen Entwicklerprofil.

Teofilo Israel Vizcaino Rodrig
quelle
Es gibt zwei Build-Einstellungen, eine unter Projekt und eine unter Ziele. Ich musste die Codesignatur ändern, damit beide funktionierten.
Stephen Horvath
7

Wenn jemand dieses Problem hat, aber sicher ist, dass die Zertifikate und die Codesignatur korrekt eingerichtet sind, überprüfen Sie die Registerkarte Funktionen, wenn Sie auf das Projekt klicken (dh neben der Registerkarte Einstellungen erstellen, Registerkarte Phasen erstellen usw.).

In meinem Fall gab es defekte Links für Game Center- und In-App-Käufe, die behoben werden mussten (durch Klicken auf die Schaltflächen "Fix me"), um dieses Problem zu beheben.

Charlie Scott-Skinner
quelle
4

An alle, die darauf stoßen: Nachdem ich dies gelesen hatte, versuchte ich, das Problem zu lösen, indem ich die Debug-Signatur auf mein Entwicklungszertifikat setzte, um festzustellen, dass die Bereitstellung immer noch fehlschlug.

Es stellte sich heraus, dass mein Ziel Release war und daher immer noch mit dem Distributionszertifikat signiert wurde. Gehen Sie entweder zurück zum Debug-Ziel oder ändern Sie die Release-Signatur vorübergehend in Development.

Aleksander Niedziolko
quelle
4

Ich hatte das gleiche Problem und nachdem ich die obigen Antworten gelesen hatte, musste ich nur zu Build-Einstellungen> Codesignatur> Bereitstellungsprofil> Keine gehen und konnte die App erneut auf meinen Geräten ausführen. Hoffe das hilft jemand anderem

DamongoCoder
quelle
Die obigen Änderungen haben auch bei mir nicht funktioniert, aber Ihr Vorschlag hat funktioniert.
Praxiteles
Ich hatte überhaupt kein Glück. Schließlich stellte sich heraus, dass ich die Bereitstellungsprofile für mein Projekt festlegte. Ich musste es für das Ziel festlegen, das ich baute. puh
Suz
3

Ich habe im Bereitstellungsprofil für Build-Einstellungen für "Debug" wieder auf "Automatisch" umgestellt und das Release-Zertifikat-Profil unverändert gelassen. Meins hat funktioniert. Versuchte die anderen Antworten. Nichts hat geklappt. Ich wollte meine Zertifikate nicht neu konfigurieren müssen. Automatisch auf dem Bereitstellungsprofil hat den Trick gemacht

Bildschirmfoto

abiodun ekundayo
quelle
2

Holen Sie sich das gleiche Problem, indem Sie meine App auf dem iPhone 5S mit Distributionsprofil installieren

-> Meine Lösung bestand darin, Funktionen zu aktivieren, die im Verteilungsprofil festgelegt sind (in meinem Fall "Schlüsselbundfreigabe", "In-App-Kauf" und "Game Center").

Hoffe das hilft jemandem ...

Alexej W.
quelle
1

Hatte gerade das gleiche Problem - die App wurde in Ordnung installiert, läuft aber nicht von Xcode mit der Meldung "Prozessstart fehlgeschlagen: Fehler beim Abrufen der Aufgabe für den Prozess".

Es stellte sich heraus, dass mein Entwicklungszertifikat nachts abgelaufen ist. Das Regenerieren des Zertifikats und der Bereitstellungsprofile löste das Problem.

Seeküste von Tibet
quelle
Hier gilt das gleiche. Sie können feststellen, dass mit dem Entwicklungszertifikat etwas nicht stimmt, wenn der Status des Entwicklungsbereitstellungsprofils in Organizer "Gültige Signaturidentität nicht gefunden" lautet.
Vladimir Grigorov
1

Wenn Sie unter Build-Einstellungen-> Codesignatur das richtige Codesignaturzertifikat festgelegt haben , stellen Sie sicher, dass Sie auch für den Debug- / Release-Modus das richtige Bereitstellungsprofil verwenden.

Ich hatte dieses Problem, weil ich für beide Debug- / Release-Modi ein Ad-hoc- Bereitstellungsprofil verwendet habe, bei dem beim Ausführen eines Debug-Builds kein Entwicklungsprofil verwendet werden kann.

nenchev
quelle
0

Die Signatur-ID für den Entwicklercode ist mit Sicherheit korrekt. Stellen Sie jedoch auch sicher, dass Ihr Gerät über den Organizer oder über das Entwicklerportal zum Mitgliedercenter hinzugefügt wurde.

Vor ein paar Tagen habe ich meine Geräteliste zurückgesetzt und heute habe ich diese plötzlich für einen iPod bekommen, mit dem ich die ganze Zeit debugge. Ungefähr 15 Minuten später erkannte ich das Problem.

Hawkeyecoder
quelle
0

Ich hatte dieses Problem, nachdem ich ein neues Entwicklerzertifikat erstellt hatte.

Folgendes war bereits korrekt: Der alte private Schlüssel wurde aus dem Schlüsselbund gelöscht, alle Profile waren aktuell, die Build-Konfiguration und die Signatureinstellungen waren korrekt. Trotzdem hatte ich dieses Problem.

Lösung: Ich musste Xcode (5.1.1) neu starten, da mir mein neues Entwicklerzertifikat nicht bekannt war. Ich habe auch die veralteten Profile von meinen Geräten gelöscht, um sicherzugehen und aufzuräumen.

thetrutz
quelle
0

Ich hatte dieses Problem beim Versuch, eine App auf einem Gerät zu debuggen, das ich zuvor noch nicht verwendet hatte. Das Entwicklerprofil wurde korrekt festgelegt. Das Gerät war Teil unseres Teamkontos, aber nicht in meinem Profil enthalten.

Musste einfach Organizer öffnen -> Gerät auswählen -> Zum Mitgliedercenter hinzufügen

Kevin Hawker
quelle
0

Ich hatte das gleiche Problem, jedoch in einer etwas anderen Situation. Eines Tages startet meine Anwendung einwandfrei (mithilfe der Entwicklerbereitstellung), dann bearbeite ich meine Berechtigungsdatei geringfügig und danach funktioniert sie nicht mehr. Die Anwendung wurde einwandfrei auf meinem Gerät installiert. Jedes Mal, wenn ich versuchte, sie zu starten, wurde sie sofort beendet (nach der Eröffnungsanimation). (Da ich auch andere Dateien bearbeitet habe, habe ich das folgende Problem nicht vermutet)

Das Problem war im Entitlements-Dateiformat, so dass die folgenden Deklarationen nicht gleich sind:

Richtig:

<key>get-task-allow</key>
<true/>

Falsch:

<key>get-task-allow</key>
<true />

Obwohl es sich um ein XML-Format handelt, verwenden Sie keine Leerzeichen im Tag, da der Xcode sonst keine Verbindung zum Prozess herstellen kann.

Ich habe die ganze Zeit über ein Entwickler-Bereitstellungsprofil verwendet.

Bearbeiten: Stellen Sie außerdem sicher, dass die in Ihrer Berechtigungsdatei endende Zeile \ n (LF) anstelle von \ r \ n (CRLF) lautet. Wenn Sie die Berechtigungsdatei unter Windows mithilfe von CRLF-Zeilenenden bearbeiten, kann Ihre Anwendung möglicherweise nicht gestartet werden.

Sipka
quelle