Xcode: no se pudo obtener la tarea para el proceso

242

Esto es para una aplicación existente que se compiló y distribuyó varias veces. Desde la actualización a Xcode 5, aparece este error.

  1. Tengo mi perfil de desarrolladores seleccionado en la firma de código para la depuración.
  2. Eliminó los datos derivados varias veces.
  3. Dejar de fumar algunas veces
  4. Descargué e intenté volver a agregar mis certificados de Desarrollador.
  5. Restablecer mi computadora! Y actualizaciones comprobadas
  6. Intenté usar magia negra!
  7. El Esquema> Configuración de compilación está establecido en Depurar

Las circunstancias extrañas que estoy compilando para compilar en iOS 6.1 para poder ejecutarlas en mi iPhone 3GS: ¿la base es SDK iOS 7? ¿Podría ser esto un problema? Solo necesito probarlo antes de encontrar un teléfono más nuevo antes de cambiarlo a iOS 7.

elliotrock
fuente
2
Verifique su esquema para asegurarse de que realmente se esté ejecutando en modo de depuración.
Borrrden
Olvidé mencionar el Scheme> Build Configuration está configurado en Debug
elliotrock
Estoy teniendo este problema también. En Xcode 4.x no hay problemas. Todos los ajustes parecen ser iguales. Los símbolos de depuración no deben eliminarse en "depuración" y el esquema ejecuta "depuración" para "Ejecutar". Este es mi único código que tiene este problema. Estoy usando notificaciones push y llaveros compartidos en este código.
DBD
Voy a reconstruir el proyecto en xcode5 simplemente ordenando cosas de repositorio
elliotrock

Respuestas:

490

Este error tiende a aparecer cuando elige un perfil de aprovisionamiento ad-hoc. Asegúrese de que su firma de código sea para desarrollo.

Hasan
fuente
2
Sugiero que cree un nuevo perfil de aprovisionamiento en el centro de desarrollo que incluya su dispositivo. luego descárguelo y úselo. Estoy bastante seguro de que funcionará.
hasan
77
Configuración de compilación> Perfil de aprovisionamiento establecido en 'Ninguno' funciona para la depuración en el dispositivo.
David Douglas el
77
por cierto, verifique que esto se haga tanto en la configuración de construcción del Proyecto como del Objetivo (especialmente Target tiene la máxima prioridad, por lo que si desea que pase 30 minutos cambiando el Proyecto y no se dio cuenta de que el Objetivo era diferente, lo hará aprender esto ...)
viggio24 05 de
1
Con XCode 6, tuve que actualizar mis perfiles de aprovisionamiento con una cuenta de desarrollador para poder ver el perfil de aprovisionamiento del equipo iOS en la Configuración de compilación. Para actualizar: XCode> Preferencias> Cuentas> ID de Apple> Ver detalles> Botón Actualizar en la parte inferior.
kalana
1
Algunas veces esta solución no funciona si no reinicia xcode. @ hasan83 esto todavía está sucediendo
albanx
90

Este error ocurre si ha utilizado un Perfil de aprovisionamiento de distribución para depurar en el dispositivo.

Ve a

Build Settings> Provisioning Profiley set to 'None' for Debugging.

David Douglas
fuente
2
Esta es la respuesta correcta para la mayoría de las personas, supongo.
John
39

Finalmente resolví esto recordando establecer la firma de código y los parámetros de aprovisionamiento en AMBOS pestañas de proyecto y destino ...

IMT
fuente
66
Sí. Eso fue todo. Otros 30 minutos perdidos gracias a la interfaz de usuario francamente tonta de Xcode. Gracias por guardar allí!
n13
Que me salve! Muchas gracias!
Evgeniy Kleban
31

Cuando su dispositivo está conectado a su computadora con un cable y usted construye y ejecuta su aplicación, su dispositivo intentará depurar. La depuración solo está permitida para los perfiles de desarrollo.

  1. Si compila + ejecuta con un perfil de desarrollo + código de firma de desarrollo, todo estará bien

  2. Si crea + ejecuta con un perfil de distribución de AppStore + código de firma de distribución, la aplicación ni siquiera llegará a su dispositivo. Esta compilación es solo para subir a AppStore

  3. Si compila + ejecuta con un perfil de distribución AdHoc + código de firma de distribución, obtendrá el error "no se pudo obtener la tarea para el proceso ...", pero la aplicación se instalará en su dispositivo. Desenchufe el dispositivo y ejecute la aplicación desde su dispositivo. Se ejecuta en un entorno de distribución. Disfruta :)

Alex Christodoulou
fuente
14

ACTUALIZAR:

Xcode 5.1 parece corregir el menú desplegable para que ahora muestre un "(bla, bla)" siempre que dos perfiles tengan el mismo nombre. Esto le permite elegir el correcto. Que es mucho mejor :)


Mordido por esto algunas veces. Xcode5 muestra "Perfil de aprovisionamiento" como un solo campo, que SIEMPRE ES INCORRECTO y Apple NO DEBE haber codificado su GUI de esta manera (error de principiante de Apple).

En Xcode5 (sin versión anterior), tiene dos valores de "Perfil de aprovisionamiento". Esto DEBE SER ANTES de configurar su "Identidad de firma de código". Obviamente, dado que tiene que establecerse PRIMERO ... Apple lo colocó SEGUNDO en la lista, 3 elementos POR DEBAJO de lo que debe establecerse "antes".

(puntos de bonificación por diseño de GUI terrible allí ...)

También está roto: si tiene dos perfiles de aprovisionamiento para el mismo nombre, Xcode5 solo le permitirá seleccionar uno de ellos. Para solucionar este problema, debe utilizar la Utilidad de configuración de iPhone para encontrar el perfil que desea, encontrar el "Identificador de perfil" de 30 dígitos y copiarlo / pegarlo en el valor "Otro" del menú desplegable Perfil de aprovisionamiento.

Su perfil de aprovisionamiento DEBE tener un valor para "Depurar" y un valor diferente para "Liberar" (a menos que cree un megaperfil personalizado a mano, Apple mantiene los dos separados).

El perfil de depuración a menudo tendrá el error del mismo nombre descrito anteriormente: la mayoría de las personas usará el perfil de aprovisionamiento de equipo generado automáticamente por Apple, que Apple siempre nombra incorrectamente para todos los objetivos, en todos los proyectos. (Otro error en Xcode5).

Una vez que haya establecido ambos valores, su campo "Identidad de firma de código" finalmente comenzará a funcionar correctamente. De hecho, funciona bien: en la mayoría de las versiones anteriores de Xcode, este campo estaba roto y la selección "automática" rara vez funcionaba. En Xcode5, SOLO puede usar valores de firma de código que se encuentran dentro del Perfil de aprovisionamiento que ha preseleccionado, y por lo tanto parece acertar el 100% del tiempo.

(es decir, puede configurarlo de forma segura en "Automático". En versiones anteriores de Xcode, Xcode a menudo usaba "Automáticamente" un perfil de Distribución para una compilación de Desarrollador, y viceversa, lo que causa muchos problemas)

Adán
fuente
NB utiliza v7.3 de Xcode y, a veces, elige el perfil de aprovisionamiento incorrecto cuando se establece en 'Automático', lo que genera este error.
Ash
12

Según mi búsqueda actual, el error "No se pudo obtener la tarea para el proceso" en xcode 5 podría ocurrir por varias razones:

  1. Una es que estamos depurando una aplicación que está firmada con un perfil de distribución ad-hoc.
  2. Otra razón es que de alguna manera xcode5 no pudo encontrar el perfil de provisión de desarrollo correcto, aunque la identidad de firma de codificación tiene la identidad de firma del desarrollador allí.

Para mí, es el segundo caso que parece ser el caso también para esta pregunta.

Puedo solucionar esto cambiando el menú desplegable del perfil de provisión de depuración al perfil de provisión de desarrollo correcto y luego intentando cargar la aplicación en un dispositivo real. Xcode daría este error a continuación: ingrese la descripción de la imagen aquí

haga clic en "Solucionar problema" para continuar, xcode 5 solucionará el problema. Una vez que se soluciona el problema, el perfil de provisión para la depuración se restablece a "Ninguno" nuevamente, aunque no estoy seguro de por qué xcode lo haría.

windfly2006
fuente
Me estoy quedando atrapado en un bucle aquí: hacer clic en 'Solucionar problema' tomará unos 15 segundos para hablar con el servidor y luego compilar la aplicación, seguido inmediatamente de la misma indicación para solucionar el problema.
Chris
No estoy seguro de por qué es así en su caso, acabo de intentar lo mismo hace un par de días, funcionó de nuevo.
windfly2006
+1 para: Depuración de una aplicación que está firmada con un perfil de distribución ad-hoc. Ese fue mi problema.
John Erck
4

Tuve estos problemas y, una vez que configuré CODE_SIGN_IDENTITY y PROVISIONING_PROFILE , todo funciona bien,

Tenga en cuenta que esto ha cambiado en Xcode 5, la versión anterior no tenía entrada para PROVISIONING_PROFILE en la configuración de compilación

//:configuration = Adhoc
CODE_SIGN_IDENTITY = iPhone Distribution: orgname
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Distribution: orgname

Tenga en cuenta que aquí tuve que escribir manualmente el desarrollador de iPhone en la segunda entrada ya que la selección automática no parecía funcionar

//:configuration = Debug
CODE_SIGN_IDENTITY = iPhone Developer: Joe Bloggs (0A0AA00A00)
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Developer: Joe Bloggs (0A0AA00A00)

//:configuration = Release
CODE_SIGN_IDENTITY = iPhone Distribution: orgname
CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Distribution: orgname

Luego actualice y la configuración del perfil de aprovisionamiento

agregue su ID de perfil 0000 son solo por privacidad

//:configuration = Adhoc 
PROVISIONING_PROFILE = 11111111-1111-1111-1111-111111111111
PROVISIONING_PROFILE[sdk=iphoneos*] = 11111111-1111-1111-1111-111111111111

//:configuration = Debug
PROVISIONING_PROFILE = 00000000-0000-0000-0000-000000000000
PROVISIONING_PROFILE[sdk=iphoneos*] = 00000000-0000-0000-0000-000000000000

//:configuration = Release
PROVISIONING_PROFILE = 22222222-2222-2222-2222-222222222222
PROVISIONING_PROFILE[sdk=iphoneos*] = 22222222-2222-2222-2222-222222222222
Kodejack
fuente
4

Intenta reiniciar XCode

Después de establecer la configuración de Aprovisionamiento y Firma de Código a partir de todas estas sugerencias, un reinicio fue lo que finalmente le permitió ejecutarse con Aprovisionamiento establecido en ninguno y Firma de Código establecido en Desarrollador iOS (Automático)

Frank Yin
fuente
4

Puede cubrirse mediante el aprovisionamiento de perfiles. Para mi caso, intenté ejecutar la aplicación en mi teléfono y el perfil de aprovisionamiento se configuró en perfil ad hoc (XC Ad Hoc), de ahí el error. Necesito cambiarlo al perfil del equipo iOS administrado por xcode (para evitar el trabajo manual en el centro de desarrollo).

superarts.org
fuente
3

en realidad, es su perfil de aprovisionamiento: la depuración es incorrecta。

Steven Li
fuente
2

La respuesta de hasan83 funcionó para mí. El aprovisionamiento ad hoc estaba dando este error y mi dispositivo tampoco estaba incluido en ese archivo de aprovisionamiento. Configuré automático para aprovisionamiento y construido. Xcode solicitó solucionar el problema y, por lo tanto, solucionó el problema descargando y configurando el archivo de aprovisionamiento del desarrollador.

zeeawan
fuente
2

En mi caso, es porque el esquema seleccionado Run actionapunta a otro Target, cuyo valor Code Signing Identityse establece eniPhone Ditributor

onmyway133
fuente
Qué mensaje de error terriblemente no descriptivo para un problema simple. Me ahorró un montón de tiempo, gracias.
jungledev
1

No he aceptado las respuestas anteriores ya que había una cadena de problemas que necesitaba resolver:

  1. El SDK de terceros no está configurado como distribución.
  2. El SDK de terceros no está configurado en arm64, lo que creo que causé porque en vano solucioné el problema compilado en arm64.
  3. Necesario para borrar todos los certificados antiguos y agregar nuevos de Apple. Que bueno hacer.
  4. Xcode 5 oculta los certificados y perfiles en las preferencias ahora, creo, lo que agregó frustraciones.
  5. Luego, asegúrese de seleccionar los perfiles de aprovisionamiento correctos en la configuración de depuración y liberación en la configuración de compilación.

Como siempre, gracias por la ayuda de la gente.

elliotrock
fuente
1

Entonces, después de probar todas estas opciones, la forma en que creo que es correcta es que ahora debe crear un perfil de aprovisionamiento para el desarrollo, no solo para la distribución. vaya al panel de preferencias y debajo de los perfiles de aprovisionamiento haga clic en crear nuevo, seleccione desarrollo y luego vaya a la configuración de compilación y configure la firma en automático (esto seleccionará el aprovisionamiento correcto) esto lo hizo para mí.

Esperaba que Apple fuera más informativo cuando hacen cambios como este predeterminado

salud,

GRAMO.

samiq
fuente
1

Gracias a toda la ayuda en las otras respuestas, lo resolví así:

  • Proyecto nuevo y vacío creado
  • Lo ejecutó en el dispositivo, funcionó bien
  • En el proyecto anterior, abra la pestaña "Proyecto, objetivos".
  • En Proyecto, establezca Todas las propiedades de firma de código en el mismo proyecto nuevo vacío (todo desactivado en mi caso)
  • En Target, haz lo mismo con tu objetivo.

En este punto, es difícil saber qué configuración es para qué modo de operación, así que acabo de comenzar desde un proyecto donde todo funciona.

n13
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
1

Este problema me sucedió porque eliminé una 'Configuración' en Proyecto => Información.

Para resolver esto, vaya a 'Producto' => 'Esquema' => 'Administrar esquemas'. Edite el esquema activo y verifique si la 'Configuración de compilación' no especifica ninguna configuración eliminada para cada proceso (Ejecutar, Probar, etc.).

Thijsonline
fuente
1

En mi caso, Xcode no pudo establecer automáticamente el perfil de desarrollador de iOS correcto para la configuración de compilación de depuración. Tenía que configurarlo manualmente para iPhone Developer: My Name (XXXXXX):

Configuración de compilación de destino → Firma de código → Identidad de firma de código → Depuración.

Pavel Alexeev
fuente
1

En mi caso, no puedo establecer el perfil de aprovisionamiento en 'ninguno' porque necesito un perfil de aprovisionamiento para la notificación push. Entonces, lo que hice fue crear otro perfil de aprovisionamiento en el desarrollador de Apple, un perfil de aprovisionamiento para el desarrollador de iOS (no distribución de iOS), vinculado a la misma ID de aplicación. Luego use ese perfil de aprovisionamiento para su aplicación en la pestaña Configuración de compilación.

Chen Li Yong
fuente