No se puede ejecutar la aplicación en el Simulador: se encontró un error mientras se ejecutaba (Dominio = LaunchServicesError, Código = 0)

91

Después de compilar con éxito el proyecto en Xcode 6, no puedo ejecutarlo en el simulador con el mensaje mencionado anteriormente. Hice toda la investigación posible, lo intenté todo y todavía no hay avances.

No estoy trabajando con swift, ni uso widgets ni extensiones, así que no sugiera soluciones causadas por estos como se puede ver en preguntas similares.

Si alguien encuentra una posible causa (¡o solución!) Distinta a estas , por favor ayude. Gracias

Miki
fuente
Sería útil si pudiera enumerar lo que ha intentado para excluir esas recomendaciones.
donmarkusi
El problema ahora está resuelto, pero solo para obtener información probé: - ejecutar una limpieza - eliminar la caché del proyecto / datos derivados - reiniciar tanto Simulator como Xcode - reiniciar la Mac - reinstalar Xcode - limpiar y reinstalar CocoaPods - verificar la configuración de compilación para ver si hay alguna rareza apariencias Nada ayudó. No intenté jugar con los nombres de las extensiones de la aplicación porque no uso ninguna.
Miki
3
"Producto -> Limpio" funcionó para mí.
nshuman
Tuve este problema: stackoverflow.com/questions/27037589/…
derpoliuk
Reiniciar el simulador resolvió mi problema
Bhavesh

Respuestas:

175

"Restablecer contenido y configuración" de las opciones del menú de iOS Simutalor y ejecutar el simulador después de salir resolvió mi problema.

Reset Content and Settings

Sauvik Dolui
fuente
6
Mucho mejor que la respuesta inicial. Debe marcarse como la solución.
denislexic
Después de eso, también tuve que salir y volver a abrir el simulador.
jfredsilva
Este requisito ya se menciona en mi respuesta @jfredsilva.
Sauvik Dolui
1
También eliminando la aplicación si la había instalado previamente en el simulador
danywarner
Trabaja para mi. Gracias
Nikhil Chaurasiya
125

Limpiar la carpeta de compilación resolvió el problema por mí. ¡Espero que esto ayude a alguien!

(Mientras mantiene presionada la tecla Alt : Producto> Limpiar carpeta de compilación )

Hannes Lohmander
fuente
1
YA YA YA, solucionó el problema: D
Abo3atef
1
Esto funcionó para mí después de actualizar para usar Cocoapods y .xcworkspace.
Juan el Rey
3
Esto es algo que debe hacer después de actualizar a Cocoapods v1.0.0
Anconia
Solo para agregar, esto es lo único que solucionó este problema después de actualizar a Cocoapods v1.0.0. Ninguna de las otras respuestas SO funcionó.
Andy Rice
Trabajado, estoy tan feliz
anavarroma
33

Probé todas las demás soluciones enumeradas aquí. Bueno, porté mi proyecto de Swift 1.2 a Swift 2.0. La aplicación se bloqueó incluso después de que se reportó un error 0 de muchos servicios de depuración y lanzamiento.

solución: Sucede debido a la compilación del marco.

Objetivo de la aplicación -> Fases de construcción -> Incrustar marcos.

Por lo tanto, marque la copia solo cuando lo instale. ¡Limpia el proyecto y ejecútalo!

ingrese la descripción de la imagen aquí

AG
fuente
¿Puede explicar más sobre cómo "Copiar solo al instalar" soluciona el problema?
sethfri
@ sethfri: "Copiar solo al instalar" para especificar que la fase de compilación copia los archivos solo en las compilaciones de instalación del producto. developer.apple.com/library/mac/recipes/…
AG
3
Entiendo lo que significan las palabras "Copiar solo al instalar". Estoy preguntando cómo esto soluciona el problema al que se enfrenta el autor de la pregunta.
sethfri
28

Esto ahora ha sido resuelto. El problema fue causado por la biblioteca ShareKit agregada por CocoaPods por razones de compatibilidad. Después de eliminar la biblioteca y todo el código relacionado, la aplicación se inició con éxito en el simulador. Recomiendo consultar el registro del sistema para obtener más detalles sobre el problema, ya que a mí me indicó la dirección correcta (indicando el nombre de la biblioteca en conflicto).

Miki
fuente
Acabo de agregar shareKit y tengo el mismo problema.
dirkoneill
24
En caso de que esto ayude a alguien: puede acceder al registro del sistema escribiendo Consola en Spotlight.
Nate Cook
Para mí fue MixpanelAppExtension
villy393
Gracias, esto me ayudó. XCode 7.3.1 y mi registro mostraba "ErrorDescription = No se pudo copiar el enlace". Estaba configurando una versión pero no un número de compilación en Target -> General -> Identity. Una vez que incluí un valor para Build, el problema desapareció.
William Smith
Para verificar el registro del sistema, pruebe este comando en la Terminal: tail -f /var/log/system.logiOS Simulator imprime directamente en stdout, para que pueda ver los registros mezclados con los registros del sistema.
vhong
16

En caso de que alguien tenga este problema en combinación con las mazorcas de cacao, estos pasos me ayudaron a resolver este error (después de unas horas):

  • correr pod cache clean
  • desde SRC_ROOT ejecutar rm -rf Pods(opcionalmente rm Podfile.lock)
  • Haga clic en la aplicación Simulator , haga clic en Simulator -> Restablecer contenido y configuración ...
  • Vaya a Xcode, en la barra de menú haga clic en Producto -> Limpiar (o haga clic en Shift + Comando + K). Esto limpiará su proyecto de Xcode.
  • Cree un nuevo Terminal Shell (Desde la barra de menú, haga clic en Shell -> Nueva ventana)
  • correr rm -rf ~/Library/Developer/Xcode/DerivedData/

... luego intente construir y ejecutar su proyecto.

Nota: SRC_ROOT se puede encontrar ingresando al Navegador , haciendo clic en el proyecto, haciendo clic en el proyecto nuevamente desde la lista de proyectos y objetivos , yendo a Configuración de compilación , desplazándose hasta el final hasta la Sección definida por el usuario y SRC_ROOT se etiquetará como PODS_ROOT. Tome eso y cópielo textualmente en la Terminal y continúe con el paso 2 de la lista anterior.

Espero eso ayude.

JakubKnejzlik
fuente
2
Esto lo hizo. ¡Gracias! Realmente debería ser la respuesta aceptada.
Dan Loewenherz
¡Eso resolvió mi problema! ¡Definitivamente debería ser la respuesta aceptada!
Victor Oliveira Antonino
15

Me deshago del problema siguiendo los pasos dados para el simulador

1. Camino

  1. Restablecer contenido y configuración del simulador .
  2. Limpiar su proyecto por Cmd + Shift + K .
  3. Borre sus datos derivados .
  4. El último, que es más importante, cambia tu Identificador de paquete por "com.yourcompanyname.projectname" como "com.facebook.Facebook"

2 vías

Puedes hacer solo la línea dada, funciona para mí

El último, que es más importante, cambia tu Identificador de paquete por "com.yourcompanyname.projectname" como "com.facebook.Facebook"

Gracias y disfruta de la programación.

Dharmbir Singh
fuente
¿Quieres decir en cmdlugar de win? ;) (O tal vez usa un teclado de Windows.)
JeroenJK
@JeroenJK Sí, es Cmd.
Dharmbir Singh
Vaya, el cambio de ID del paquete es el que finalmente funcionó para mí. ¡Gracias!
ArtSabintsev
6

Puede estar relacionado con este problema: "Esta aplicación contiene una extensión de aplicación con un identificador de paquete ilegal".

Tuve que formatear los identificadores de paquete para mi aplicación y extensión de la siguiente manera:

com.company.AppName
com.company.AppName.Extension
Azin Mehrnoosh
fuente
Igual que aquí. Cambié el identificador del paquete porque la extensión (widget) no se mostraba y eso lo causó. Tuve que bajar la versión de extensión de 9.2 a 8.2 y cambiar el paquete como se mencionó anteriormente.
¡Gracias, exactamente mi problema!
Andres
5
  1. Primero, "Restablecer contenido y configuración"
  2. Si no completó el número de compilación, complételo y Ejecute.

Está resuelto para mí.

Chathurka
fuente
4

Si cambia el nombre de la clase proporcionada InterfaceControllerestablecida por defecto cuando inicia un nuevo proyecto. Se hace referencia a esta clase en la parte Info.plistinferior de la clave RemoteInterfacePrincipalClass. En mi caso, recibí el error mencionado por el OP hasta que arreglé el nombre de la clase allí (ver captura de pantalla).

Info.plist: establece la clase principal

Charles
fuente
¡Eso ayudó mucho! ¡Gracias!
Lonkly
2

Si está aquí después de tener problemas para realizar una integración con WatchOS 2.0, vaya a - ~/Library/Logs/CoreSimulator/[Device UDID]/system.logy si dice algo así WatchKit 2 app has frameworks; that's not allowed., siga el enlace a continuación.

http://zyafa.me/blog/watchos-2-and-embedded-frameworks

loco
fuente
1
Gracias por indicarme el archivo de registro del simulador. En mi caso, el archivo de registro ~/Library/Logs/CoreSimulator/CoreSimulator.logreveló que mi marco vinculado no tenía un CFBundleIdentifieren su Info.plist
berbie
framework no tenía un CFBundleIdentifier en su Info.plist: también obtengo esto, ¿cuál es la solución? no usar en watchkit o watchOS
Abhishek Thapliyal
1

Soy usuario de adMob y resolví habilitar "Copiar solo al instalar" en App target -> Build Phases -> Embed Frameworks.

Mate Coche
fuente
1

Tengo el mismo problema después de localizar mi aplicación. Especialmente Info.plist. Parece que tenía vacíos CFBundleShortVersionStringen InfoPlist.strings, después de la fijación que el simulador comenzó a trabajar correctamente.

MuHAOS
fuente
Ese también era mi problema. Si ve eso, intente eliminar todas las claves que no requieran localización de sus archivos InfoPlist.strings. En mi caso, la eliminación de las claves a continuación solucionó todo: CFBundleName CFBundleShortVersionString CFBundleVersion
lazarev
1

Obtuve este problema al agregar una referencia de carpeta llamada "Recursos".

Si le doy otro nombre, ¡corre!

Alce
fuente
1
¡Este me resolvió un problema similar! Estaba incrustando un dylib y provocó un críptico error de instalación "no tenía un CFBundleIdentifier en su Info.plist". Después de cambiar la carpeta de Recursos a otra cosa, comenzó a funcionar nuevamente
Sagi Iltus
Dos pájaros de un tiro;)
Moose
1

Hay varias cosas que pueden provocar este error. La mejor respuesta general es buscar en el registro de la consola CoreSimulator, ya que el simulador registra el problema subyacente cuando muestra este mensaje.

Christopher Pickslay
fuente
1

Gracias por señalar esto @Miki y felicitaciones. Tuve el mismo problema que usted ayer (y agregué ShareKit 3.0.0 de CocoaPods a la aplicación hace unos días). Sospeché que ShareKit me estaba dando este problema, pero ahora puedo estar seguro de exactamente qué biblioteca está causando esto. Esto es lo que encontré en mi registro (si puede beneficiar a otros):

Error Domain = LaunchServicesError Code = 0 "No se pudo completar la operación. (LaunchServicesError error 0.)" UserInfo = 0x7fa836097aa0 {Error = PackageInspectionFailed, ErrorDescription = No se pudo cargar Info.plist del paquete en la ruta / Users / {UserName} / Library / Developer / CoreSimulator / Devices / 99FEB34E-6F00-4EFA-861A-A6985AFE96D8 / data / Library / Caches / com.apple.mobile.installd.staging / temp.X7eead / extract / {AppName} .app / Frameworks / LiveSDK. marco de referencia}

appdog
fuente
1
de su registro, ¿cómo puede saber que ShareKit causa el error?
chipbk10
1
tengo lo mismo en mi registro, pero eliminar simuladores y volver a agregarlos no ayuda ... ¿cómo corrigió el error?
Amitay
1

Si ha instalado alguna biblioteca usando CocoaPodsmientras XCode estaba abierto, todo lo que tiene que hacer es cerrar XCode y eliminar la biblioteca del Podarchivo, ejecutar el comando pod installque desinstalará esa biblioteca. luego instale la biblioteca nuevamente. Asegúrese de que XCode esté siempre cerrado al instalar y desinstalar bibliotecas.

Atif Farrukh
fuente
0

Tuve exactamente el mismo problema y fue ShareKit.

En el simulador tenía "Error Domain = LaunchServicesError Code = 0".

En el dispositivo iPhone6 ​​tuve "Falló la instalación de la aplicación No se pudo inspeccionar el paquete de la aplicación".

Cuando eliminé ShareKit funcionó.

Adinp
fuente
0

Tuve este problema cuando agregué un objetivo de Apple Watch a mi aplicación y eliminé accidentalmente el archivo InterfaceController.m. Volver a agregar el archivo en el destino solucionó el problema.

spybart
fuente
0

Hay diferentes cosas que pueden causar esto. Mirar en la consola puede darte una pista.

En mi caso, el problema fue una extensión creada antes de que cambiara el nombre del producto. Xcode no borró el anterior, luego se estresó con dos extensiones con el mismo ID de paquete.

(Eliminar la carpeta de compilación solucionó mi problema particular).

Vorlon confundido
fuente
0

En mi caso, el problema provino de un conjunto de iconos agregado con algunas imágenes faltantes. Una vez reemplacé el conjunto de iconos por otro y desinstalé la aplicación en el simulador; Pude ejecutarlo de nuevo.

iyepes
fuente
0

Eliminé todos mis archivos de pod y los reemplacé todos, parece que el problema para mí fue que el marco de los pernos era antiguo y causaba este error. Hice un contenido limpio y restablecido y ahora todo está bien.

ReduxDJ
fuente
0

No agregue el marco de Google Maps a la sección de biblioteca incrustada, esto resolvió mi falla de compilación.

Ravi Dalmia
fuente
Eliminar el marco integrado que no era necesario para estar allí solucionó mi problema también
manman
0

Tuve este error al desarrollar la aplicación para Apple Watch después de agregar Info.plist: "Configuración de seguridad de transporte de aplicaciones" y "Permitir cargas arbitrarias" = SÍ. (¡En la aplicación WatchKit, en WatchKit Extension es bueno!) Al eliminar estas dos filas, sigue funcionando.

ingrese la descripción de la imagen aquí

Alessandro Mattiuzzi
fuente
0

Para mí, el problema se produce porque agregué mi marco ( GoogleMobileAds.frameworken mi caso) a binarios integrados , no a marcos y bibliotecas vinculados .

Para tu información, AdMob te indica que uses el Add Files to "Your Project"menú en Xcode, pero fui demasiado vago para obedecer las instrucciones.

Blaszard
fuente
0

Tuve este problema al intentar ejecutar pruebas de IU en un proyecto que contenía AWS Cognito.

Así es como lo resolví.

  1. Seleccione el objetivo de la prueba de IU.
  2. Haga clic en la sección Build Phases.
  3. Haga clic en el signo más para agregar una fase de Copiar archivos Fase Agregar archivos de copia
  4. En la fase Copiar archivos, cambie el destino a Frameworks (vea la última imagen)
  5. Pulsa el signo más debajo de la fase Copiar archivos.
  6. Seleccione el marco para el que está recibiendo un error y presione el botón Agregar (el suyo probablemente no será el primer elemento en la jerarquía de su proyecto). Seleccionar marco para copiar Debería terminar luciendo así. Resultado final
  7. Repita los pasos 5 y 6 para todos los marcos que le den un error.
  8. Ejecute sus pruebas.
Rico aquino
fuente