No puedo iniciar mi aplicación en Instruments: al menos un objetivo no se pudo iniciar

98

Tengo todos mis derechos de firma de código configurados correctamente. Ejecutar la aplicación en mi teléfono está bien, pero ejecutarla en instrumentos me da un mensaje de error:

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

Y entonces:

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

¿Alguna idea de cómo podría evitar que esto suceda? No sucede en mi iPad.

Andrés
fuente

Respuestas:

217

Edite el esquema para su objetivo y, en "Perfil [Nombre de la aplicación]", establezca la Configuración de compilación en Depuración (generalmente es Versión por defecto).

Harrywynn
fuente
6
+1, gracias, esto me ayudó. Agregaría que tuve que construir el proyecto después de configurar la configuración en Debug o que los instrumentos todavía no jugarían.
Robert
4
Aunque sé que este "cambio de configuración a depuración" es incorrecto, no tengo una solución para este problema. En términos generales, es mucho menos útil / común perfilar una compilación de depuración.
user501138
1
Eso es porque Release utiliza a menudo el certificado de producción.
Evgeny Aleksandrov
Me he asegurado de que el esquema de perfil utiliza la configuración de depuración (perfil de desarrollador) y todavía tengo este problema. Este es un certificado de desarrollador empresarial, aunque no espero que sea de importancia. ¿Alguna idea?
Brody Robertson
3
Me estoy enfrentando al mismo problema. Perfilar su aplicación con la configuración de depuración no es una prueba de rendimiento válida ya que el compilador no ha optimizado el código como lo hace para Adhoc. ¿Alguien ha resuelto el problema AdHoc?
Fergal Rooney
34

Dice que debe firmar la aplicación con un certificado de desarrollador (no un certificado de distribución ).

En Xcode 5, simplemente cambie el "Provisioning Profile"campo de su "Release"compilación en la Configuración de compilación a su certificado de desarrollador en lugar de su certificado de distribución. De todos modos, mientras dure la prueba. Xcode no le permite construir con un certificado de distribución.

Asegúrese de que la configuración de compilación del proyecto no anule la configuración de compilación de destino ni realice el cambio en la configuración de compilación del proyecto .

No olvide volver a configurar el perfil una vez que haya terminado con la prueba.

No recomiendo el método de harrywynn, ya que es mejor perfilar la versión de la versión porque entonces estás teniendo en cuenta las optimizaciones del compilador y teniendo la experiencia exacta que tendrán tus usuarios.

Zoltán Matók
fuente
1
Primero, necesita un perfil de desarrollo, por lo que significa que debe estar en modo de depuración. En segundo lugar, a menos que Apple lo cambie al perfil de distribución, los desarrolladores probablemente irán con las compilaciones de desarrollo. En tercer lugar, está perfilando, debería ser una compilación de desarrollo (depuración). En cuarto lugar, ¿por qué utilizaría un perfil de desarrollo para un esquema de lanzamiento?
Angelo
4
"Primero, necesita un perfil de desarrollo, por lo que significa que debe estar en modo de depuración". Puede ejecutar cualquier configuración con cualquier perfil. "En tercer lugar, está perfilando, debería ser una compilación de desarrollo (depuración)" Debería perfilar con la compilación de lanzamiento para tener en cuenta las optimizaciones del compilador. Puede obtener resultados diferentes. "En cuarto lugar, ¿por qué utilizaría un perfil de desarrollo para un esquema de lanzamiento?" Porque esa es la solución más fácil a este problema. Y debe volver a cambiar el perfil cuando esté listo para probar, como escribí en mi respuesta.
Zoltán Matók
9

Para agregar a las respuestas anteriores.

  • Instruments se queja de la identidad de la firma .
  • Creo que es preferible perfilar en modo de lanzamiento, por las mismas razones dadas por Zolten. (tenga en cuenta las optimizaciones del compilador y tenga la experiencia exacta que tendrán sus usuarios, etc.)
  • Para cambiar su identidad de firma de código para Xcode 6 :
    • Haga clic en su proyecto, seleccione el objetivo que está perfilando.
    • Configuración de compilación -> Firma de código -> Identidad de firma de código -> Versión
    • Seleccione su perfil de desarrollador de iOS.
  • Perfil de aprovisionamiento: deje que Xcode elija el perfil de aprovisionamiento correcto para usted, por ejemplo: cambie a Automático
  • Cuando haya terminado con el perfil, vuelva a su configuración normal .

Aquí hay una imagen para aquellos que son muy visuales;)

ingrese la descripción de la imagen aquí

dornad
fuente
1

Estaba teniendo el mismo problema: [INST STDERR] Error de rastreo de instrumentos: El destino no se pudo ejecutar: Se denegó el permiso para depurar. La aplicación debe estar firmada con una identidad de desarrollo (por ejemplo, desarrollador de iOS).

Solución: 1. Archivé la aplicación con Debug Developer Profile en xcode para dispositivo. 2. Vaya a Ventana -> Organizador -> para ver toda la lista de archivos 3. Ahora seleccione el archivo que desea exportar y ábralo en el buscador 4. Haga clic derecho y muestre el contenido del paquete 5. Vaya a la carpeta Productos / Aplicaciones Verá el archivo .app.

Use esto en lugar de ipa.

Asegúrese de que el dispositivo ya se haya agregado al portal de desarrolladores y de que todos los certificados estén instalados en él para que funcionen los pasos anteriores.

Una vez que esté en su lugar. Además, asegúrese de obtener el ios-webkit-debug-proxy desde el siguiente enlace:

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

Además, habilite las herramientas de desarrollador en la configuración del dispositivo. Además, asegúrese de que safari webinspector (safari -> Desarrollar) -> Inspector esté activado Espero que ayude :-)

NOTA: Cuando desee que appium instale la aplicación en el dispositivo por usted, no proporcione el ID del paquete.

Swathy Valluri
fuente
El archivo de la aplicación se encuentra en Productos -> Aplicaciones en Contenido del paquete
swathy valluri
0

Logré resolver este problema en mi máquina haciendo esto:

  • Genere un nuevo perfil de aprovisionamiento de desarrollador con su dispositivo en la lista o al menos asegúrese de que su máquina esté en la lista del dispositivo del perfil.
  • En Configuración del proyecto -> Firma de código -> Perfil de aprovisionamiento -> Depurar: establezca el perfil recién creado.
  • En la configuración de Destinos -> Firma de código -> Perfil de aprovisionamiento -> Depurar Y liberar: establece el perfil recién creado.

Espero que ayude.

Sèb
fuente
0

Me di cuenta de lo que significa "Al menos un objetivo no se pudo lanzar". Parece que ambos el esquema de desarrollo como el de lanzamiento (si tiene un esquema de depuración y un esquema de lanzamiento) deben tener una identidad de desarrollo.

Tenía seleccionado el esquema de depuración al ejecutar el generador de perfiles y el mensaje en la parte superior de XCode decía "Ejecutando depuración". Sin embargo, parece que esto no es suficiente.

Cambié la identidad de firma de código de mi esquema de lanzamiento para que fuera el mismo que el esquema de depuración (y también el perfil de aprovisionamiento), y el problema desapareció.

Mate
fuente
0

Funcionó ... cuando cambié el esquema de mi perfil al modo de depuración y también me aseguré de que las configuraciones de compilación tengan un certificado de desarrollador. Gracias

ck8414
fuente
0

Ninguna de las otras soluciones aquí solucionó mi problema, pero determiné que solo era un problema para mí en el simulador. El dispositivo funciona bien. Quizás haya un problema con el simulador.

John Bushnell
fuente
0

Encontré este problema con Xcode 9.1 tanto para simuladores como para dispositivos, y mi esquema de ejecución ya estaba configurado como creación de perfiles con "Debug". Finalmente encontré esta discusión en el foro de Apple muy útil y resolví el problema. En resumen, la solución que funcionó para mí es ... Reiniciar la Mac.

CodeBrew
fuente