Xcode: no se pudo obtener la tarea para el proceso

255

Ejecuté en modo de lanzamiento mi aplicación en un iPhone con Xcode 4.

Todo funcionó muy bien hasta que me cambié al simulador y volví al iPhone. Después de cambiar, la aplicación se inicia en el iPhone, pero la pantalla de inicio se muestra inmediatamente después y en Xcode obtengo:

failed to get the task for process 

Intenté eliminar / agregar el archivo de Derechos, eliminar la aplicación y reiniciar Xcode, pero nada que hacer.

aneuryzm
fuente
intentaste cambiando la ID del paquete?
rakeshNS

Respuestas:

666

Apuesto a que su modo de lanzamiento incluye la compilación de su certificado de distribución, lo que no permite este comportamiento (no querría un poco de enganche al azar en su aplicación después de descargarlo de la tienda de aplicaciones). Compile con el certificado de desarrollo en su lugar. Puede cambiar esto en la configuración del edificio en la firma de código.

borrrden
fuente
Ok, ahora me siento tonto ... por error elegí Implementación -> iPad y recibí este error. No pude entender por qué, hasta que me di cuenta, lo cambié a Desarrollo -> iPad y funcionó. Duh! : P
Joel Martinez
3
Asegúrese de que esté seleccionado el objetivo correcto y de que no esté ajustando la configuración del signo de código para la prueba / otro objetivo.
Vincil Bishop
11
Te hace preguntarte por qué Apple no nos daría un error más útil como "por favor usa un perfil de depuración"
inorganik
77
Toda mi experiencia de desarrollo para plataformas Apple es pura pena. No sé cómo pueden tener tan poco respeto por ellos mismos
com.
1
Sí, cometí el mismo error: Xcode construyó felizmente y me permitió intentar ejecutar una aplicación, donde elegí un Perfil Provisional, con un certificado de Distribución (en lugar de Desarrollo). Pero, en serio, POR QUÉ ... ¿Por qué Xcode no puede dar un mensaje de error medio útil para alertarlo sobre este problema? Es 2016. ¿Xcode crecerá y se verá como un entorno medio decente?
Mike Gledhill
24

Cambiar el perfil para la firma de código. Seleccione su proyecto, vaya a Configuración de compilación> Identidad de firma de código. Cambie a otro perfil de desarrollador.

Teofilo Israel Vizcaino Rodrig
fuente
Hay dos configuraciones de compilación, una en Proyecto y otra en Objetivos. Tuve que cambiar la firma del código para que ambos funcionen.
Stephen Horvath el
7

Si alguien tiene este problema pero está seguro de que sus certificados y firma de código están configurados correctamente, verifique la pestaña de capacidades cuando haga clic en el proyecto (es decir, al lado de la pestaña de configuración de compilación, pestaña de fases de compilación, etc.).

En mi caso, había enlaces rotos para Game Center y compras en la aplicación que debían repararse (haciendo clic en los botones "arreglarme") para resolver este problema.

Charlie Scott-Skinner
fuente
4

Para cualquiera que se encuentre con esto: después de leer esto, intenté resolver el problema configurando la firma de depuración en mi certificado de desarrollo solo para descubrir que la implementación todavía estaba fallando.

Resulta que mi objetivo era Release y, por lo tanto, sigo firmando con el certificado de distribución; vuelva al objetivo Debug o cambie la firma de lanzamiento a Development temporalmente.

Aleksander Niedziolko
fuente
4

Tuve el mismo problema y después de leer las respuestas anteriores, todo lo que tuve que hacer fue ir a Configuración de compilación> Firma de código> Perfil de aprovisionamiento> Ninguno y pude ejecutar la aplicación en mis dispositivos nuevamente. Espero que esto ayude a alguien más

DamongoCoder
fuente
Los cambios anteriores tampoco funcionaron para mí, pero su sugerencia sí.
Praxiteles
No estaba teniendo suerte en absoluto. Finalmente resultó que estaba configurando los perfiles de aprovisionamiento para mi proyecto. Necesitaba configurarlo para el Target que estaba construyendo. whew
Suz
3

Volví a "Automático" en el perfil de aprovisionamiento de configuración de compilación para "Depurar" y dejé el perfil del certificado de lanzamiento sin cambios, el mío funcionó. Intenté las otras respuestas. nada funcionó. No quería tener que reconfigurar mis certificados. Automático en el perfil de aprovisionamiento hizo el truco

captura de pantalla

abiodun ekundayo
fuente
2

Simplemente obtenga el mismo problema instalando mi aplicación en el iPhone 5S con el perfil de distribución

-> mi solución fue activar las capacidades que se establecen en el Perfil de distribución (en mi caso, "Uso compartido de llaveros", "Compra en la aplicación" y "Centro de juegos")

Espero que esto ayude a alguien...

Alexej W.
fuente
1

Simplemente tuve el mismo problema: la aplicación se estaba instalando bien, pero no se ejecutará desde Xcode con el "error de inicio del proceso: no se pudo obtener la tarea para el proceso".

Resulta que mi certificado de desarrollo expiró durante la noche. La regeneración del certificado y los perfiles de aprovisionamiento resolvieron el problema.

Costa del mar del Tíbet
fuente
Igual que aquí. Puede decir que hay algo mal con el certificado de desarrollo si el estado del perfil de aprovisionamiento de desarrollo en el Organizador dice "Identidad de firma válida no encontrada".
Vladimir Grigorov
1

Si configuró el certificado de firma de código correcto en Configuración de compilación-> Firma de código , asegúrese de que también esté utilizando el perfil de aprovisionamiento correcto para el modo de depuración / liberación.

Estaba teniendo este problema porque estaba usando un perfil de aprovisionamiento ad-hoc para ambos modos de depuración / liberación, que no permite que se use un perfil de desarrollo al hacer una compilación de depuración.

nenchev
fuente
0

Tener la identificación de firma del código de desarrollador es correcto con seguridad, pero también asegúrese de que su dispositivo se agregue al Centro de miembros a través del organizador o a través del portal del desarrollador.

Hace unos días restablecí mi lista de dispositivos, y hoy de repente recibí esto para un iPod con el que depuro todo el tiempo. Unos 15 minutos después me di cuenta del problema.

Hawkeyecoder
fuente
0

Tuve este problema después de crear un nuevo certificado de desarrollador.

Lo siguiente ya era correcto: la antigua clave privada se eliminó del llavero, todos los perfiles estaban actualizados, la configuración de compilación y la configuración de firma eran correctas. Sin embargo, tuve este problema.

Solución: tuve que reiniciar Xcode (5.1.1) porque no tenía conocimiento de mi nuevo certificado de desarrollador. También eliminé los perfiles obsoletos de mis dispositivos solo para asegurarme y limpiar.

thetrutz
fuente
0

Tuve este problema al intentar depurar una aplicación en un dispositivo que no había usado antes. El perfil del desarrollador se configuró correctamente. El dispositivo era parte de la cuenta de nuestro equipo pero no estaba incluido en mi perfil.

Simplemente tenía que abrir Organizador -> Seleccionar el dispositivo -> Agregar al Centro de miembros

Kevin Hawker
fuente
0

Tuve este mismo problema, sin embargo, en una situación un poco diferente. Un día, mi aplicación se inicia correctamente (usando la provisión del desarrollador), luego realizo algunas modificaciones menores en mi archivo de Derechos y luego deja de funcionar. La aplicación se instaló bien en mi dispositivo, sin embargo, cada vez que intenté iniciarla, salió instantáneamente (después de la animación de apertura). (Como también hice modificaciones en otros archivos, no sospeché el siguiente problema)

El problema estaba en el formato de archivo de Derechos, parece que las siguientes declaraciones no son las mismas:

Correcto:

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

Incorrecto:

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

Aunque es un formato XML, no use espacios en la etiqueta o el Xcode no podrá conectarse al proceso.

Estaba usando el perfil de aprovisionamiento de desarrollador todo el tiempo.

Editar: también asegúrese de que la línea que termina en su archivo de Derechos es \ n (LF) en lugar de \ r \ n (CRLF). Si edita el archivo de derechos en Windows utilizando terminaciones de línea CRLF, puede que su aplicación no se inicie.

Sipka
fuente