Xcode: impossibile ottenere l'attività per il processo


255

Ho eseguito in modalità di rilascio la mia app su un iPhone con Xcode 4.

Tutto ha funzionato alla grande fino a quando sono passato al simulatore e sono tornato all'iPhone. Dopo il ritorno, l'app viene avviata su iPhone, ma la schermata principale viene visualizzata immediatamente dopo e in Xcode ottengo:

failed to get the task for process 

Ho provato a rimuovere / aggiungere il file Entitlements, eliminare l'app e riavviare Xcode ma niente da fare.


hai provato cambiando ID pacchetto?
rakeshNS

Risposte:


666

Scommetto che la tua modalità di rilascio include la compilazione con il tuo certificato di distribuzione, il che non consente questo comportamento (non vorrai qualche sciocco casuale agganciato alla tua app dopo averlo scaricato dall'App Store). Compilare invece con il certificato di sviluppo. Puoi modificarlo nelle impostazioni dell'edificio sotto la firma del codice.


Ok, ora mi sento stupido ... Ho sbagliato a scegliere Deployment -> iPad e ho riscontrato questo errore. Non riuscivo a capire perché per la mia vita, fino a quando non me ne sono reso conto, sono passato a Sviluppo -> iPad e ha funzionato. Duh! : P
Joel Martinez,

3
Assicurarsi che sia selezionato il target corretto e che non si stiano regolando le impostazioni del segno di codice per il test / altro target.
Vincil Bishop,

11
Un po 'ti fa chiederti perché Apple non ci dia un errore più utile come "per favore usa un profilo di debug"
inorganik

7
Tutta la mia esperienza di sviluppo per piattaforme Apple è pura sofferenza. Non so come possano avere così poco rispetto per se stessi
noncom

1
Sì, avevo fatto lo stesso errore: Xcode è stato creato felicemente e mi ha permesso di provare a eseguire un'app, in cui avevo scelto un profilo provvisorio, con un certificato di distribuzione (anziché di sviluppo). Ma, sul serio, PERCHÉ ... Perché Xcode non può dare un messaggio di errore mezzo utile per avvisarti di questo problema? È il 2016. Xcode crescerà mai e sembrerà un ambiente decente ?!
Mike Gledhill,

24

Modifica il profilo per la firma del codice. Seleziona il tuo progetto, vai su Impostazioni build> Identità firma codice. Passa a un altro profilo sviluppatore.


Esistono due impostazioni di costruzione, una in Progetto e una in Target. Ho dovuto cambiare la firma del codice affinché entrambi funzionassero.
Stephen Horvath,

7

Se qualcuno ha questo problema ma è sicuro di avere i certificati e la firma del codice impostati correttamente, controlla la scheda delle capacità quando fai clic sul progetto (ad esempio accanto alla scheda delle impostazioni di compilazione, alla scheda delle fasi di compilazione, ecc.).

Nel mio caso c'erano collegamenti interrotti per Game Center e acquisti in-app che avevano bisogno di essere risolti (facendo clic sui pulsanti "aggiustami") per risolvere questo problema.


4

A chiunque si imbatta in questo: Dopo aver letto questo, ho tentato di risolvere il problema impostando la firma di debug sul mio certificato di sviluppo solo per scoprire che la distribuzione stava ancora fallendo.

Si scopre che il mio obiettivo era Rilascio e quindi continuavo a firmare con il certificato di distribuzione - o tornare al bersaglio Debug o modificare temporaneamente il rilascio firmando in Sviluppo.


4

Ho avuto lo stesso problema e dopo aver letto le risposte sopra ho dovuto solo andare su Impostazioni di costruzione> Firma del codice> Profilo di provisioning> Nessuno ed è stato in grado di eseguire di nuovo l'app sui miei dispositivi. Spero che questo aiuti qualcun altro


Le modifiche sopra non hanno funzionato neanche per me, ma il tuo suggerimento ha funzionato.
Prassitele

Non ho avuto fortuna. Alla fine ho scoperto che stavo impostando i profili di provisioning per il mio progetto. Ho dovuto impostarlo per l'obiettivo che stavo costruendo. whew
Suz

3

Sono tornato su "Automatico" nel profilo di provisioning delle impostazioni di build per "Debug" e ho lasciato invariato il profilo del certificato di rilascio, il mio ha funzionato. Ho provato le altre risposte. niente ha funzionato. Non volevo dover riconfigurare i miei certificati. Automatico sul profilo di provisioning ha funzionato

immagine dello schermo


2

Ottieni lo stesso problema installando la mia app su iPhone 5S con il profilo di distribuzione

-> la mia soluzione era quella di attivare le funzionalità che sono impostate nel profilo di distribuzione (nel mio caso "Condivisione portachiavi", "Acquisto in-app" e "Game Center")

Spero che questo aiuti qualcuno ...


1

Ho appena avuto lo stesso problema: l'app è stata installata correttamente, ma non verrà eseguita da Xcode con "avvio del processo non riuscito: impossibile ottenere l'attività per il processo".

Risulta che il mio certificato di sviluppo è scaduto durante la notte. La rigenerazione del certificato e i profili di provisioning hanno risolto il problema.


Anch'io. Si può dire che c'è qualcosa di sbagliato nel certificato di sviluppo se lo stato del profilo di provisioning di sviluppo in Organizer indica "Identità di firma valida non trovata".
Vladimir Grigorov,

1

Se hai impostato il certificato di firma codice corretto in Impostazioni build-> Firma codice , assicurati di utilizzare anche il profilo di provisioning corretto anche per la modalità Debug / Release.

Ho riscontrato questo problema perché utilizzavo un profilo di provisioning Ad-Hoc per entrambe le modalità di debug / rilascio, che non consente l'utilizzo di un profilo di sviluppo durante l'esecuzione di una build di debug.


0

Avere l'id di firma del codice dello sviluppatore è corretto, ma assicurarsi anche che il dispositivo sia aggiunto al Centro membri tramite l'organizzatore o tramite il portale degli sviluppatori.

Qualche giorno fa ho ripristinato il mio elenco di dispositivi e oggi improvvisamente ho ricevuto questo per un iPod con cui eseguo il debug in ogni momento. Circa 15 minuti dopo ho capito il problema.


0

Ho avuto questo problema dopo aver creato un nuovo certificato sviluppatore.

Quanto segue era già corretto: la vecchia chiave privata era stata eliminata dal portachiavi, tutti i profili erano aggiornati, la configurazione della build e le impostazioni di firma erano corrette. Eppure ho avuto questo problema.

Soluzione: ho dovuto riavviare Xcode (5.1.1), perché non era a conoscenza del mio nuovo certificato di sviluppatore. Ho anche eliminato i profili obsoleti dai miei dispositivi solo per essere sicuro e per ripulire.


0

Ho riscontrato questo problema durante il tentativo di debug di un'app su un dispositivo che non avevo mai usato prima. Il profilo dello sviluppatore è stato impostato correttamente. Il dispositivo faceva parte dell'account dei nostri team ma non era incluso nel mio profilo.

Ho dovuto semplicemente aprire Organizer -> Seleziona il dispositivo -> Aggiungi a Member Center


0

Ho avuto lo stesso problema, tuttavia in una situazione leggermente diversa. Un giorno la mia applicazione si avvia correttamente (utilizzando la disposizione degli sviluppatori), quindi eseguo alcune modifiche minori al mio file Entitlements e successivamente smette di funzionare. L'applicazione si è installata correttamente sul mio dispositivo, tuttavia ogni volta che ho provato a avviarla, è uscita immediatamente (dopo l'animazione di apertura). (Dato che ho apportato modifiche anche ad altri file, non sospettavo il seguente problema)

Il problema era nel formato file Entitlements, sembra che le seguenti dichiarazioni non siano le stesse:

Corretta:

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

non corretto:

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

Anche se è un formato XML, non utilizzare spazi nel tag o l'Xcode non sarà in grado di connettersi al processo.

Ho sempre usato il profilo di provisioning degli sviluppatori.

Modifica: assicurati inoltre che la riga che termina nel tuo file Entitlements sia \ n (LF) anziché \ r \ n (CRLF). Se si modifica il file dei diritti su Windows utilizzando i finali di riga CRLF, è possibile che l'avvio dell'applicazione non riesca.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.