Xcode 4 dice "terminé de ejecutar <mi aplicación>" en el dispositivo de destino: no sucede nada

223

La aplicación no se instala ni se ejecuta en mi dispositivo. Todos los perfiles de aprovisionamiento están actualizados. Ya he intentado eliminarlos y reinstalarlos.

La barra de estado muestra que Xcode está construyendo mi proyecto, luego dice ejecutar mi proyecto, luego dice "terminado de ejecutar". Durante todo este período, la pantalla del iPod permanece en negro. El iPod se está detectando en el Organizador y no veo nada malo en su configuración. Todo funcionaba perfectamente hace solo un par de días con Xcode 3.

No funciona en el simulador, pero puede ser importante tener en cuenta que en el simulador parece estar atascado en "Adjuntar a" y el simulador se niega a comenzar.

D-Niza
fuente
1
Si crea un proyecto nuevo con una de las plantillas de xcode e intenta ejecutarlo en el simulador o en el dispositivo, ¿funcionará? Estoy tratando de determinar si la instalación / configuración de xcode está rota o si algo en la aplicación que está preguntando está influyendo en el comportamiento.
kennbrodhagen
2
Creé una nueva plantilla de proyecto y funcionó. Así que ahora sabemos que algo debe estar mal configurado en mi proyecto.
D-Nice
D-Nice, ¿alguna vez resolviste esto? Tengo exactamente el mismo problema con mi juego, y no puedo resolverlo de por vida.
Adam Johnson

Respuestas:

268

Para aquellos que leen esto con respecto a Xcode 4.2 e intentan ejecutar en un dispositivo anterior (por ejemplo, iPhone 3G, 2G, iPod de primera generación, etc.) tengo otra solución. Los nuevos proyectos creados en Xcode 4.2 por defecto especifican 'armv7' en 'Capacidades requeridas del dispositivo'. Tendrá que eliminar esto si desea admitir dispositivos que ejecutan armv6 (por ejemplo, el iPhone 3G).

ingrese la descripción de la imagen aquí

Elimine armv7 de las 'Capacidades requeridas del dispositivo' en suProjectName-Info.plist

También es posible que deba cambiar la configuración de compilación para compilar con armv6 en lugar de armv7.

Este es el valor predeterminado:

ingrese la descripción de la imagen aquí

Haga doble clic en 'Estándar (armv7)' para agregar otro, luego haga clic en '+' en la ventana emergente y escriba 'armv6':

ingrese la descripción de la imagen aquí

Haga clic en Listo y debería verse así:

ingrese la descripción de la imagen aquí

MattyG
fuente
1
Bingo: Tuve que hacer los dos pasos descritos para ejecutar correctamente en mi antiguo iPhone 3G. Gracias MattyG!
Ariel Malka
1
¡Un millón de gracias! Te daría 10 votos si pudiera. Estaba pasando por todos los escenarios en esta página sin suerte en absoluto. De alguna manera, ese valor debe haber cambiado cuando actualicé a XCode 4.3.
IcyBlueRose
Gracias por sus esfuerzos para explicar el procedimiento en detalle.
alekhine
44
Gracias de mi parte también! Muchas personas han sugerido agregar 'armv6', ¡pero eliminar armv7 es el truco!
Harry Wood
1
"Elimine armv7 de las 'Capacidades requeridas del dispositivo' en su Lista de proyectos-Info.plist" -> Gracias
Oded Regev
43

Acabo de tener este problema, pero para mí fue porque solo especifiqué armv7 en mis arquitecturas, pero el 3G es armv6. Asegúrate de tener ambos.

axiixc
fuente
Esa fue la causa principal para mí. Tan fácil de olvidarlo. Gracias.
Lukasz
55
Para agregar la opción "armv6", vea esto: stackoverflow.com/questions/7488657/…
pauloya
Mi iPod Touch anterior también debe ser armv6 porque esto también funcionó.
programa
Sí, estoy bastante seguro de que el iPhone original, 3G y los primeros dos toques de iPod fueron armv6.
axiixc
21

Tuve este problema, y ​​resulta que XCode estaba predeterminado en el Objetivo de implementación a 4.3, mientras que mi teléfono es 4.2.1. Cambiar el Destino de implementación a 4.0 parecía resolverlo.

Jeremy Flores
fuente
Exactamente lo que estaba buscando.
fuga del
Tuve este problema al configurar el objetivo de implementación en 5.1 cuando mi dispositivo solo era 5.0.1 - aplausos mate +1
theiOSDude
12

Después de agregar "armv6" a las arquitecturas Proyecto y Objetivos, asegúrese de no tener "armv7" en la sección "Capacidades de dispositivo requeridas" de su lista de información. Si es así, simplemente quítelo y debería funcionar.

Johann
fuente
Sí, esta es la razón de mi caso. No tengo idea de cómo las "capacidades de dispositivo requeridas" de armv7 llegaron a la lista. ¡Gracias!
GeneCode
11

El mismo problema aquí con la aplicación no se ejecuta en el dispositivo. Eliminar la aplicación del dispositivo no ayudó. Proyecto -> Limpiar luego Proyecto -> Ejecutar de nuevo tampoco ayudó. Resultó que solo salir y reiniciar Xcode 4 lo resolvió.

SPitBalls.com
fuente
9

Acabo de tener esto también. Agregué una sección UIRequiredDeviceCapabilities a info.plist, que requiere un kit de juegos, y la aplicación no se copiará en un iPhone 3G con iOS 4.2. Eliminada la capacidad requerida, todo está bien.

Graham Perks
fuente
Entonces, ¿cómo se supone que debes probar las aplicaciones que requieren gamekit en el dispositivo?
Rob
Todavía obtienes GameCenter sin tu info.plist que dice que necesitas un dispositivo que lo tenga. Cualquier dispositivo que ejecute 4.2 tiene GameCenter, por lo que no hay necesidad de la información adicional.plist "¡Lo necesito!"
Graham Perks
6

Intente eliminar la aplicación en el dispositivo (al igual que la desinstalación de su aplicación habitual) y vuelva a ejecutarla desde Xcode. Me ayudó con el mismo problema, aparte del simulador que no funciona.

Tomek Kopczuk
fuente
Ya no hay rastro de la aplicación en el dispositivo. Ya no creo que esto sea un problema de aprovisionamiento ... hay algo que se corrompió en mi proyecto, pero no tengo idea de lo que puede ser.
D-Nice
6

Caso mío: por error configuré: Capacidades requeridas del dispositivo -> acelerómetro en NO (en Info.plist). Solo tengo que volver a configurarlo en SÍ

Además: asegúrese de que las capacidades requeridas del dispositivo sean del tipo adecuado: es decir, booleano o cadena. El tipo incorrecto invariablemente hará que la prueba falle y la aplicación no se cargue.

Casey
fuente
4

Para aquellos que todavía se tambalean, otra cosa que tuve que hacer fue hacer que el nombre del producto de mi destino sea el mismo para las configuraciones de Depuración y Liberación. Había estado "ejecutando" la versión de depuración, que no estaba construyendo.

Luke
fuente
4

agregar arquitectura armv6 solucionó esto para mí.

carro rojo
fuente
esto fue para mí; la nueva versión de Xcode decida retirar ARMv6 de ajuste de construir el 'Arquitecturas' lo que tendrá que volver a añadirla manualmente
2

A mí también me sucede a veces. Hacer la limpieza (Menú del producto -> Limpiar) y ejecutar (Menú del proyecto -> Ejecutar) siempre lo corrige.

El negro
fuente
¡Gracias! Esto pasa a menudo. ¡Cada vez que intento algo nuevo! ¿Es esto un error en Xcode?
Namratha
2

Tuve el mismo problema: migré un proyecto de xcode3 a xcode4, y después de compilar la aplicación, xcode no quiso instalar e iniciar la aplicación en mi teléfono.

Mi solución (que funcionó para mí) es:

  • Edite su esquema (que debe ejecutarse)
  • En la lista de la izquierda, seleccione 'Ejecutar xyz.app'
  • Debajo de la pestaña de información, en Ejecutable tenía '.app' seleccionado. Cambie esto navegando a su directorio de compilación y eligiendo su aplicación.

Funcionó para mí, y de ahora en adelante puedo usar: 'Producto -> Realizar acción -> Ejecutar sin compilar', para ejecutar la última compilación. Esto es más rápido que simplemente presionar Ejecutar, ya que no se tomarán acciones de compilación.

bxantus
fuente
no hay un directorio de compilación para el mío? extraño.
Sam Jarman
1

Simplemente reinicie el dispositivo. Haz un proyecto limpio. Elimina la aplicación del dispositivo y Reconstruye.

Alex Terente
fuente
0

La configuración de compilación fue diferente para el proyecto y los objetivos. Simplemente presiono suppr en Build Products Path y Intermediate Build Files Path en ambas secciones y resolvió mi problema.

GeorgioA
fuente
0

Tuve el mismo problema con mi proyecto de juego usando Cocos2D. "Hola mundo" de la plantilla funcionó bien, mi proyecto funcionó bien en el simulador, pero la ejecución falló en el dispositivo con el mensaje: "Finalizó la ejecución".

¡He reemplazado Info.plist en mi proyecto por el inicial de la plantilla y eso funcionó para mí!

Rudyryk
fuente
0

Experimenté esto dos veces con dos aplicaciones diferentes cuando pasé a la versión más reciente de Xcode. La primera vez, lo que funcionó fue compilar la aplicación con el compilador GCC LLVM. La segunda vez, lo que funcionó fue volver a agregar la arquitectura armv6 como una arquitectura compatible, ya que se había eliminado cuando Xcode actualizaba automáticamente el proyecto.

Halle
fuente
0

Resolví esto cambiando "acelerómetro" de "NO" a "SÍ" en mi Info.plist.

La referencia clave de la lista de propiedades de información de Apple dice que puede eliminar por completo la configuración del "acelerómetro" si "su aplicación detecta solo cambios en la orientación del dispositivo".

codeperson
fuente
Su aplicación es compatible con acelerómetro?
mac
0

Mi solución fue agregar UIInterfaceOrientationPortraita la UISupportedInterfaceOrientationsmatriz en Info.plist, a pesar de que mi aplicación no es compatible con vertical.

Morrowless
fuente
0

De alguna manera, un campo llamado "La aplicación requiere un entorno de iPhone" se abrió paso en mi lista. Lo quité y listo! Funcionó en mi iPod.

Namratha
fuente
0

Mi Info.plist tenía su membresía objetivo establecida en mi objetivo de compilación. Eliminarlo de la membresía objetivo resolvió el problema.

RohinNZ
fuente
0

Estaba usando un nombre alternativo para Info.plist pero no había configurado correctamente la Info.plist Fileconfiguración de compilación en mi objetivo. Descubrí esto mirando el paquete de aplicaciones y viendo que no contenía una lista de información.

Ben Flynn
fuente
0

Asegúrese de que la versión de destino de implementación sea <= la versión de iOS en su dispositivo. Así es como resolví este problema.

d4n13l
fuente
0

Tuve el mismo problema durante unos 45 minutos. La limpieza no ayudó, la recreación del proyecto no ayudó, la versión del brazo no ayudó. Tenía algunos mensajes "No se pudo sincronizar con iTunes" abiertos que no había visto antes. Al hacer clic en Aceptar en esos parecía haber solucionado el problema :(

John Fawcett
fuente
0

XCode compiló, ejecutó y finalizó, pero la aplicación no se pudo implementar y ni siquiera se copió al dispositivo.

De hecho, debería haber algo en el proyecto XCode que no funciona. El mejor movimiento es construir un nuevo proyecto desde cero. No olvides agregar soporte para armv6 como se indicó en una publicación anterior.

¡Funciona bien para mí!

Claude COULOMBE
fuente
0

Esto me sucedió tratando de ejecutar una aplicación watchOS en el dispositivo, porque la versión watchOS de mi Apple Watch era superior a la que soportaba mi Xcode instalado actualmente. Actualicé al Xcode más nuevo (que también me exigió actualizar al macOS más nuevo), y funcionó bien después de eso .

nickjwallin
fuente