Xcode de repente dejó de ejecutar el proyecto en el hardware: "No se pudo iniciar xxx.app: .. No existe ese archivo ..." [cerrado]

139

Xcode ha dejado de poder ejecutar mi aplicación, se inició directamente después de que la eliminé del dispositivo e intenté reinstalarla volviéndola a ejecutar en Xcode (algo que he hecho cientos de veces antes).

Dice

"No se pudo iniciar XXX.app"

"No existe tal archivo o directorio (/Users/Mylaptop/Library/Developer/Xcode/DerivedData/MyApp-ekxcbebfpzkahtfkujyqkcwprzia/Build/Products/Debug-iphoneos/MyApps.app/MyApp)".

Reinicié el teléfono, relancé Xcode, limpié todo, reconstruí todo. Este mensaje de error no desaparecerá.

Esto es con Xcode 4.5 que he estado usando desde que estuvo disponible, si vuelvo a 4.3.2, entonces Xcode dice "Aplicación finalizada", pero en realidad no hace nada: la aplicación no está instalada ni se ejecuta.

Estoy completamente atascado, ya no puedo ejecutar nada en el dispositivo.

¿Alguna sugerencia?

Tortas Grunt
fuente
44
Vaya al Organizador en su xcode, presione la pestaña de proyectos y elimine los datos derivados de su proyecto y limpie el proyecto y vuelva a compilarlo ..
Dinesh Raja
2
Todavía obtengo lo mismo después de hacer eso. Intentaré reinstalar Xcode.
Gruntcakes
Creo que ha cambiado algo en su configuración de compilación en la ruta para ejecutar su aplicación en el dispositivo
Dinesh Raja
9
Descubrí de qué se trataba: al agregar capacidades de dispositivo a la lista de información, de alguna manera agregué una nueva fila pero no le di un valor.
Gruntcakes
1
Si bien la eliminación de los datos derivados finalmente funcionó para mí, no ayudó hasta que reinicié el iPad y OS / X, vacié la basura después de usar el Finder para eliminar los datos derivados y eliminé un periférico BLE conectado a través de un puerto USB. No sé cuál de los pasos fue necesario (XCode luego se compiló con el periférico BLE conectado), pero una vez que se agregaron todos esos pasos para eliminar los datos derivados, el proyecto se compiló bien.
Mike

Respuestas:

125

Eso es realmente molesto. Este error ocurre en varias situaciones diferentes. A veces, reiniciar el Xcode soluciona el problema. Si no, siga estos pasos:

Desconecta tu dispositivo.

Elimina la aplicación de tu dispositivo.

Salga de Xcode (no solo cierre la ventana, ciérrela)

Eliminar la carpeta de datos derivados ( ~/Library/Developer/Xcode/DerivedData/-gbrvhlvwmpiobxdujegtghggrffp- o algo así)

Ahora inicie Xcode una vez más, conecte el dispositivo y ejecute el proyecto. Debería funcionar bien.

del blog DhilipSiva

Sudhakar
fuente
44
Esta fue la clave para mí. Aprecia el nivel de detalle en la respuesta.
Jason Pawlak
Sólo una de las cosas "muy molestos" cuando se trabaja en esta plataforma
rushinge
2
no funciona ... estoy corriendo en el dispositivo
Rajneesh071
Los pasos anteriores no resolvieron el problema. Todavía recibo el mensaje "No se pudo ejecutar <app>. <App> no encontrado".
user298261
funcionó para mí, prueba este
Muhammad Waqas
57

Intente eliminar "Capacidades requeridas del dispositivo" en el archivo -Info.plist.

No puede requerir armv7 en un 3G, y no puede requerir armv6 en ningún dispositivo más nuevo, así que simplemente elimine este atributo por completo.

Almog C
fuente
2
Esta es la única solución que funcionó para mí. Ya tratando de actualizar certificados, limpiando carpetas reiniciando dispositivo, xcode y mac nada ayudó. Simplemente elimine el atributo y se instaló y funcionó bien.
automaticoo
1
Esta solución también funcionó para mí: error extraño.
nombre inapropiado
También tuve que asegurarme de que las arquitecturas válidas en la configuración incluían armv6, armv7 y armv7s (estoy usando XCode 4.5 ahora ... Sé que esto ha pasado unos meses, pero vale la pena mencionarlo). Además, estos tres deberían estar en la lista en la sección de Arquitecturas también.
David Morton
Intenté esto, no es alegría, pero la respuesta de Sudhakar + Jagger funcionó. Xcode 4.5.1 y un iPad1
mm2001
Este fue el problema para mí: mi aplicación tenía "telefonía" como una capacidad requerida y estaba tratando de ejecutar la aplicación en un iPad mini solo con WiFi.
chitza 01 de
38

Encontré la respuesta. La versión del objetivo de implementación de iOS no era la misma que la versión del sistema operativo de mi dispositivo.

limpiando
fuente
Lo hizo por mí también. Por alguna razón, XCode siempre quiere restablecer el objetivo de implementación de mi proyecto a 6.0.
Donald Burr
3
también funcionó para mí ... Estaba cambiando el tipo de dispositivo de "iPhone" a "Universal" y xcode cambió automáticamente el objetivo a 6.0, que al principio no noté. Cambió de nuevo a 4,3 y funcionó ...
Jim José
Lástima que eliminar DerivedData y las capacidades requeridas del dispositivo no ayudaron, así que establecí mi objetivo de implementación de 6.1 a 5.0 y funcionó en mi iPod Touch con iOS 5.1.
Richard Altenburg - Brainchild
oh Dios mío. ¿Cuántas veces voy a hacer que el mismo falle ...
máximo
esta fue la solución para mí
GeorgeBuckingham
13

Primero probé algunos de los anteriores con info.plists y eliminando datos derivados, clean, etc.

Mi solución: salir de XCode, volver a abrir el proyecto. Ir a los datos derivados en Finder. Datos eliminados para todos los proyectos (todo era trashable, pero primero intentaría eliminar los datos problemáticos de su proyecto). Y luego funcionó de nuevo. Eliminar datos derivados de XCode no funcionó.

Joris van Liempd iDeveloper
fuente
44
La ruta a la carpeta de datos derivados: / Users / <User> / Library / Developer / Xcode / DerivedData /
Pascalius
esto resolvió mi problema + Eliminar todas las carpetas liberó 10 GB de memoria, así que doble gracias :)
thesummersign
10

Lo siguiente resolvió mi problema ... mi aplicación funcionó para mí en depuración / lanzamiento, luego construí algunos archivos ad-hoc y las compilaciones de depuración / lanzamiento dejaron de funcionar.

Síntomas

  • errores de derechos no válidos al iniciar desde Xcode al dispositivo (jugar con derechos ...)
  • aborto inmediato sin error (finalización de la ejecución) al ejecutar el simulador
  • no se pudo iniciar ... el directorio blabla ... / build / product / debug-iphoneos / ... no se encontró al iniciar desde Xcode al dispositivo.

Finalmente, después de tratar de beneficiarme del dolor de todos los demás, encontré en Targets [AppName]:

Build Settings
Build Locations
Build Products Path build

debiera ser

Build Products Path build/Products

No tengo idea de cómo se configuró incorrectamente. Esto debe estar codificado en algún lugar de Xcode / Springboard porque 'Productos' aparece tanto en Xcode como en la consola del Dispositivo. Este es Xcode 4.5.1.

captura de pantalla de dónde configurar build / Productos

KeithL
fuente
1
¿Podría formatear eso para que el significado sea un poco más claro? No es obvio cómo se debe ingresar.
itsbruce el
1
Wow, muchas gracias Keith. Después de 4 horas frustrantes resulta que esta fue la causa. Cómo en el mundo se cambió está más allá de mí.
karl_
1
Sí, resolvió mi problema, pero ¿por qué sucedió esto?
Ali
7

Resolví este problema por

renombrar un directorio sobre mi proyecto XCode

Cambiar el nombre del proyecto lo XCodearregló para mí.

En XCode, debajo del Navegador de proyectos, haga clic en el nombre del proyecto y debería permitirle cambiarle el nombre como un archivo en Finder. Eliminar datos derivados no ayudó.

Scott Driscoll
fuente
Eso lo hizo por mí, por alguna razón falló cuando tenía un espacio en blanco en el nombre del proyecto. Renombrado como sin espacio en blanco y funciona bien.
rita
6

Construí mi proyecto XCode con CMake y de alguna manera (o mi estúpido yo) eliminó o vació la propiedad "Archivo ejecutable" en info.plist. Lo configuré de nuevo en $ {EXECUTABLE_NAME} y funcionó nuevamente.

Me tomó mucho tiempo trabajar en todas las sugerencias y soluciones hasta que finalmente encontré ese problema.

Espero que esto ayude a alguien que lucha con el mismo problema

Editar:

Fue de alguna manera CMake estropeando mi archivo plist. Creé mi propio Info.plist y lo usé de la siguiente manera:

SET_TARGET_PROPERTIES( MyApp PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_LIST_DIR}/MyApp.plist )

Dentro de mi lista tenía esta entrada:

<key>CFBundleExecutable</key> <string>${EXECUTABLE_NAME}</string>

Desafortunadamente, CMake todavía parece analizar ese archivo y reemplazó $ {EXECUTABLE_NAME} con una cadena vacía ya que es la sintaxis de la variable CMake. Mi trabajo rápido es el siguiente:

SET( EXECUTABLE_NAME "\${EXECUTABLE_NAME}" )

Ahora funciona como un encanto!

Probablemente estoy solo con exactamente este problema, pero quién sabe.

ecreif
fuente
Agradable. Eliminé accidentalmente mi archivo .plist y esta fue una de las propiedades que necesitaba agregar nuevamente. Gracias
El set(EXECUTABLE_NAME "\${EXECUTABLE_NAME}")era exactamente lo que necesitaba. Agregué esta línea en la parte inferior de mi archivo de cadena de herramientas ios y lo arregló sin problemas. ¡Gracias un montón!
Deathicon
5

Tuve el mismo problema, pero en mi caso tenía un requisito incorrecto en mi lista de información (requiere giroscopio para un iPhone 3G)

Unfalkster
fuente
4

Traté de ejecutar mi proyecto en un sistema diferente al que se desarrolló. Estaba recibiendo "No se pudo iniciar xxx.app: .. No existe ese archivo ...".

Eliminó la aplicación del dispositivo y luego eliminó los datos derivados del organizador en xcode para la aplicación. Organizador -> Proyectos -> Datos derivados -> Eliminar

Mi problema fue resuelto.

iSaalis
fuente
4

Debe establecer el objetivo de implementación más BAJO que la versión de su dispositivo

Jim Huang
fuente
4

Para mí, la solución era simplemente usar el perfil de aprovisionamiento correcto (sin distribución).

Estaba predeterminado a usar siempre mi perfil de aprovisionamiento ad hoc, pero luego cambié a usar mi perfil de desarrollador (perfil de equipo) y eso resolvió las cosas. Continué y limpié el directorio de Datos Derivados para estar seguro, pero no sé con certeza si es necesario.

XCode solía tener una advertencia que le indicaba que usara el perfil de aprovisionamiento correcto, pero ese mensaje de error parece haber desaparecido en XCode 4.5.

TPoschel
fuente
Este es ciertamente un conjunto de fallas y correcciones, obviamente, muchas fallas de XCode aparecen en este mensaje de error inútil. Esta vez, para nosotros, y algunos más a continuación, parecía ser causado por problemas de certificado / firma / perfil, arrojando algunos de los viejos vencidos y asegurándome de que estaba usando los mismos perfiles en todas partes, (como Jabolcnik a continuación , Tengo varias cuentas de desarrollo, las de mi empleador y las mías.) Permití que XCode ejecutara la aplicación en el dispositivo.
Taryn
4

He tenido este problema por una solución muy extraña.

Mi problema fue ligeramente diferente ya que tengo 2 certificados de desarrollador en Keychain. Tenemos dos cuentas de desarrollador (digamos AD y BD).

1) Cambié el identificador de paquete de com.BD.game a com.AD.game 2) El dispositivo en el que tuve problemas solo se firmó en los perfiles de aprovisionamiento de AD. 3) No pude depurar el juego en iPad, aunque el dispositivo tenía perfiles de aprovisionamiento válidos, tenía certificados válidos, reinicié Mac, dispositivo, reinstalé Xcode ... nada ayudó.

Lo que hice hoy fue examinar el archivo project.pbxproj en busca de entradas extrañas.

Lo que encontré fue que Xcode estaba usando el perfil de aprovisionamiento adecuado, pero firmó la ipa / aplicación con un certificado incorrecto.

"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer: **BD** (XX******)";

Después de corregir manualmente el nombre y la identificación; Todo funciona a las mil maravillas.

Jabolcnik
fuente
4

Tengo el mismo error. En mi caso, establecí el objetivo de implementación como 6.1 e intenté ejecutar un iPad con iOS 5.1. Cuando cambié mi objetivo de implementación a 4.3, problema resuelto.


Aún tengo el problema. Prueba esto Desconecta tu dispositivo. Elimina la aplicación de tu dispositivo. Salga de xcode. Ahora inicie Xcode, conecte el dispositivo y ejecute el proyecto. Debería funcionar bien.

Nijil Nair
fuente
4

Para mí (usando IOS 7 y Xcode 5), el error desapareció justo después de "Agregar al Centro de miembros" con mi dispositivo en el Organizador.

Bruce Cichowlas
fuente
Esto ayudó Sin embargo, necesitaba reiniciar el dispositivo después de eso para deshacerme del error.
Bouncing Bit
3

Me gustaría mencionar que la forma más fácil de abrir la carpeta DerivedData en Finder es la siguiente:

  1. Abre el organizador.
  2. Haga clic en "Proyectos".
  3. Selecciona tu proyecto problemático.
  4. Junto a la ruta de los DerivedData, haga clic en el pequeño botón de flecha hacia la derecha.

Eliminar el contenido de la carpeta DerivedData funcionó para mí. En lugar de utilizar el botón "Eliminar ...", debería tener más éxito al eliminar los archivos manualmente a través del Finder.

usuario444731
fuente
3

Vaya a: su proyecto Target -> Información y desde las Propiedades de CustoM iOS Target elimine las capacidades requeridas del dispositivo. En mi caso fueron armv7 y armv7s.

Después de eso, la aplicación se creó con éxito en mi iPhone 4.

Así es como se ve después de que eliminé ambos requisitos

Dejan Balaban
fuente
Estaba viendo el mismo problema, la aplicación se ejecutaría en mi 5S la primera vez, pero no las posteriores, resultó que las capacidades requeridas de mi dispositivo estaban configuradas en "armv7", eliminando eso de la lista de información corregida
Cam Saul
2

Para mí, olvidé que tenía "telefonía" en "Capacidades de dispositivo requeridas" en la lista de información. Eliminé eso, y finalmente funcionó en mi iPad.

ninjaneer
fuente
2

Para mí, reiniciar Xcode, limpiar DerivedData y reiniciar el dispositivo no fue suficiente en la mayoría de los casos, hasta que descubrí que iTunes también se estaba ejecutando, y después de salir de iTunes, ¡todo funcionó bien!

Entonces mis pasos ahora son simples:

1. Salga de Xcode.
2. Si iTunes se está ejecutando, salga de iTunes.
3. Reabrir proyecto.

No es necesario eliminar la aplicación del dispositivo, limpiar el proyecto o reiniciar / desconectar el dispositivo. Creo que es porque Xcode e iTunes usan algunas bibliotecas comunes (como saben, Xcode Installer siempre solicita salir de iTunes al instalar iOS SDK).

parametr
fuente
2

Tuve este problema y probé una serie de sugerencias que no me funcionaron, luego encontré la que indicaba cómo eliminar las "Capacidades requeridas del dispositivo" en el archivo -Info.plist (que para mí incluía servicios de ubicación y gps) ¡Eso funciono! Luego los volví a agregar y todavía funcionó ... imagínate. Este fue xCode 4.6.1 y mi aplicación es desarrollador con Phonegap / Cordova

Dylan Hamilton-Foster
fuente
¡También encontré una cadena vacía allí y estaba bloqueando al organizador! Gracias por el consejo !
PetrV
2

Intenté todo lo anterior y aún así no funcionó. Solucioné el problema cambiando la ubicación de compilación derivada. Archivo> Configuración del proyecto> "ubicación de datos derivados" cambia a relativo al proyecto. O simplemente puede asegurarse de que la ruta predeterminada tenga permiso para leer / escribir.

wickedgk
fuente
1

Mi problema parecía ser elegir el retrato vertical (botón de inicio superior) como elemento 0 en las orientaciones de la interfaz admitida en mi lista. Quitar eso o moverlo hacia abajo parecía solucionar mi problema. Imagínate.

Becka11y
fuente
1

También tuve este problema para una aplicación Universal con Xcode 4.5 SOLO en mi iPhone, donde tenía dos dispositivos de depuración:

iPhone 4 iOS 5.1.1
iPad 1   iOS 5.1.1

El Info.plist tenía una entrada vacía en "Capacidades requeridas del dispositivo" Sé que no ingresé este 'Elemento 0' vacío. La aplicación se carga en el iPhone ya que eliminé el elemento vacío. No encontré este problema en ninguna de las versiones anteriores de Xcode. Esto significa que Xcode 4.5 maneja este elemento 'insertado' de manera diferente para los dos dispositivos que uso. Me he equivocado antes, pero esto parece un error en Xcode 4.5.

mbarron
fuente
1

Esto puede parecer obvio, pero también debe establecer su objetivo de implementación para el sistema operativo que ejecuta su dispositivo.

Por lo tanto, si actualiza a iOS 6, establecerá su objetivo de implementación en iOS 6. Deberá implementarlo en 5.1 si el dispositivo en el que está probando aún ejecuta 5.1.

Matt Hudson
fuente
1

Finalmente, mi problema se resolvió verificando que el productNameatributo en la /* Begin PBXNativeTarget section */sección de mi project.pbxprojarchivo coincida con el nameatributo.

Una vez que lo editó para que fueran lo mismo, ¡Xcode finalmente ejecuta la aplicación en mi dispositivo correctamente!

¡Gracias a Max Weisel por ayudarme! :RE

Grantland Chew
fuente
1

Eliminar la carpeta de datos derivados no me ayudó. Usando Xcode 4.4.2, la única solución era abrir Organizer y eliminar viejos perfiles de aprovisionamiento caducados y extraños en el iDevice. Entonces todo volvió a funcionar perfectamente.

Robert Wasmann
fuente
Esto es sin duda una gran cantidad de fallas y soluciones, obviamente, muchas fallas de XCode salpican esta tierra de nadie.
Taryn
1

Esto puede ser un arenque rojo, pero experimenté estos problemas cuando agregué imágenes de lanzamiento personalizadas antes de eliminar las predeterminadas. Eliminar el inicio predeterminado y las imágenes personalizadas y luego volver a agregarlas en las personalizadas me lo arregló. Estoy trabajando con iOS 6 y Xcode 4.5.2

G O'Rilla
fuente
1

Parece que hay algunas cosas diferentes que pueden causar este mensaje de error muy útil.

Para mí, se debió a una incorrecta "Capacidades requeridas del dispositivo" en la lista de información. Había agregado un elemento de matriz en blanco por error (en la parte superior de la arquitectura, armv7). ¡Eliminó el elemento de matriz en blanco y ahora todo está bien!

MattP
fuente
1

Tuve este problema y nada realmente ayudó, excepto: mi problema comenzó después de cambiar el contenido de mi lista de información y ninguna reversión me ayudó.

Lo que lo resolvió para mí fue:

  1. Cree una lista de información vainilla en un proyecto nuevo
  2. reemplace el viejo info.plist con el nuevo
  3. renombrándolo (como app_info.plist)
  4. Configure Build Settings / Packaging / INFOPLIST_FILE para que sea el nuevo.
  5. Haz todos los cambios que necesites para tu proyecto

Espero que ayude. Intenté todo lo demás sugerido aquí y esta fue la única solución para mí.

Capi Yoav Kedem
fuente
1

Frente al mismo problema pero ahora el problema está resuelto, Executable file eliminé info.plist. Lo configuré de nuevo en $ {EXECUTABLE_NAME} y funcionó nuevamente .. :)

ingrese la descripción de la imagen aquí

Rajneesh071
fuente
1

¡En mi caso, solo configuré el permiso 777 directamente en la carpeta xxx.app para todos los archivos y trabajo!

Arthur Goulart
fuente