"El archivo" MyApp.app "no se pudo abrir porque no tiene permiso para verlo" al ejecutar la aplicación en Xcode 6 Beta 4

273

Cada vez que intento ejecutar mi aplicación en Xcode 6 Beta 4 obtengo el error:

The file "MyApp.app" couldn't be opened because you don't have permission to view it.

Este error aparece sin importar a qué simulador o dispositivo apunte.

Yo he tratado:

  • Eliminar todos los datos derivados del organizador en Xcode
  • Reparación de permisos en mi disco
  • Elevación manual de los permisos del MyApp.app construido
  • Reiniciando mi computadora

¿Alguien más se ha encontrado con este problema y ha encontrado una solución?

Captura de pantalla

Drewag
fuente
1
Tengo el mismo problema con XCode 6.1. Al principio, el problema era solo con el simulador, ahora, después de seguir algunas pistas en esta publicación, también tengo el mismo error al ejecutar mi teléfono objetivo.
Bamaco
1
Seguí la solución @YuAn. Funciona muy bien para el simulador. Gracias Pero cuando trato de compilarlo en el dispositivo, sigo recibiendo el mensaje que dice "No tengo permiso para verlo". El archivo myapp.app en el directorio de productos en xcode y también en el directorio de datos derivados se muestra bloqueado incluso después de intentar compilar después de eliminar el contenido de los datos derivados.
Srinivasan N
44
Otra forma (estúpida) de desencadenar este problema: compile una aplicación con solo recursos y sin archivos de origen. No me preguntes cómo sé eso :)
Krumelur
44
Producto> Limpio, resuelve esto por mí
mazorati
¡En mi caso ninguno de estos no funcionó! Una vez que elimino el archivo pilst de Xcode y lo adjunto nuevamente al proyecto, ¡funciona de maravilla! Espero ayudarlos Chicos !!
Ravi

Respuestas:

252

Yo uso Xcode6 GM. Encontré el mismo problema. Lo que hice fue ir a Configuración de compilación -> Opciones de compilación. Luego cambié el valor del "Compilador para C / C ++ / Objective-C" a Compilador predeterminado.ingrese la descripción de la imagen aquí

YuAn Shaolin Maculelê Lai
fuente
146

¿Tiene el problema también en DISPOSITIVO (no solo simulador)?


Las otras soluciones solo me lo arreglaron en el simulador, no en el dispositivo.

Para mí, este problema ocurrió (en Xcode 6) cuando intentaba cambiar las propiedades principales de info.plist al intentar cambiar el nombre de mi aplicación.

En info.plist , cambié el Executable Filenombre a otro que no sea el predeterminado ${EXECUTABLE_NAME}...

Había confundido este campo con el campo que cambia el nombre de la aplicación debajo del icono en el trampolín.

Albert Renshaw
fuente
10
En mi caso, esto funcionó gracias. Había estado cambiando otros campos similares en mi archivo <appname> -Info.plist, y una vez que volví a cambiar el archivo ejecutable a $ {EXECUTABLE_NAME} como sugeriste, se compiló y ejecutó.
Slowburner
Gracias ... lo mismo fue mi caso
Bala Vishnu
Muchas gracias @Albert Renshaw, tu respuesta resolvió mi problema. Estoy buscando una solución para eso desde los últimos dos días.
Nilesh Kikani
Mismo problema, el nombre del campo es "Nombre para mostrar del paquete" para cambiar el nombre debajo del icono
WebOrCode
1
Esto me llevó a mi solución, que era que había obtenido un Info.plist adicional cuando incluí la fuente de una biblioteca externa en mi código, y tenían un Info.plist dentro de su carpeta de grupo de activos. La eliminación de esa lista de información adicional solucionó mi problema.
chadbag
145

En Xcode haga lo siguiente

Ventana -> Organizador -> Proyectos -> La aplicación con el problema -> botón Eliminar en Datos Derivados.

Luego limpié el proyecto y listo

trabajos

Tom
fuente
Seguí la solución @YuAn. Funciona muy bien para el simulador, pero cuando trato de construirlo en el dispositivo, sigo recibiendo el mensaje que dice "No tengo permiso para verlo". El archivo myapp.app en el directorio de productos en xcode y también en el directorio de datos derivados se muestra bloqueado incluso después de intentar compilar después de eliminar el contenido de los datos derivados. ¿Alguna idea de lo que salió mal?
Srinivasan N
esto funcionó para mí PERO sigue sucediendo. No puedo eliminar continuamente los datos derivados cada vez que quiero ejecutar la aplicación en el simulador ...
zumzum
Estoy enfrentando el mismo problema, probé varias soluciones, pero no funcionó para mí. La ayuda será apreciada
Giriraj.Mulay
53

Para mí, un producto simple -> Clean funcionó muy bien

SleepsOnNewspapers
fuente
45

Lo arreglé limpiando una carpeta de compilación. Simplemente fui al menú 'Producto' y Opción + Haga clic en 'Limpiar'. Después de eso se resolvió un problema.

yury.ku
fuente
30

Hubo un problema con el Info.plist del proyecto. Creé un nuevo proyecto con el mismo nombre en Xcode 6 beta 4 y luego reemplacé el Info.plist del proyecto real por el nuevo. El proyecto luego se construyó y funcionó bien.

Mire la diferencia, parece que el plist podría haberse mezclado de alguna manera con el plist de un patio de recreo. El identificador del paquete era "com.apple.dt.playground.iOS-18300-13" y el ejecutable y los nombres del paquete eran "iOS" junto con algunas otras rarezas.

Este es el diferencial completo en caso de que alguien lo necesite como referencia:

        <key>CFBundleDevelopmentRegion</key>
        <string>en</string>
        <key>CFBundleExecutable</key>
-       <string>iOS</string>
+       <string>${EXECUTABLE_NAME}</string>
        <key>CFBundleIdentifier</key>
-       <string>com.apple.dt.playground.iOS-18300-13</string>
+       <string>com.myCompany.${PRODUCT_NAME:rfc1034identifier}</string>
        <key>CFBundleInfoDictionaryVersion</key>
        <string>6.0</string>
        <key>CFBundleName</key>
-       <string>iOS</string>
+       <string>${PRODUCT_NAME}</string>
        <key>CFBundlePackageType</key>
-       <string>AAPL</string>
+       <string>APPL</string>
        <key>CFBundleShortVersionString</key>
        <string>1.0</string>
-       <key>CFBundleSupportedPlatforms</key>
-       <array>
-               <string>iPhoneSimulator</string>
-       </array>
+       <key>CFBundleSignature</key>
+       <string>????</string>
        <key>CFBundleVersion</key>
        <string>1</string>
-       <key>DTPlatformName</key>
-       <string>iphonesimulator</string>
-       <key>DTSDKName</key>
-       <string>iphonesimulator8.0</string>
-       <key>LSBackgroundOnly</key>
-       <true/>
        <key>LSRequiresIPhoneOS</key>
        <true/>
+       <key>UIMainStoryboardFile</key>
+       <string>Main</string>
        <key>UIRequiredDeviceCapabilities</key>
        <array>
                <string>armv7</string>
        </array>
+       <key>UISupportedInterfaceOrientations</key>
+       <array>
+               <string>UIInterfaceOrientationPortrait</string>
+               <string>UIInterfaceOrientationLandscapeLeft</string>
+               <string>UIInterfaceOrientationLandscapeRight</string>
+       </array>
 </dict>
 </plist>
Drewag
fuente
Sí, tuve un problema similar. El archivo Info.plist estaba en formato de archivo binario. Tuve que convertirlo
Luca Torella
28

He tenido el mismo error en Xcode 8.2. La razón por la que me enteré, se agregó otra lista de información en mi proyecto al agregar la biblioteca (copiar manualmente).

Para que Xcode se confunda al seleccionar Info.plist correcta .

Acabo de eliminar esa lista de información de la biblioteca agregada.

Entonces está funcionando bien sin ninguna alerta de permiso.

Antony Raphel
fuente
También puede cambiar el nombre de Info.plist a FRAMEWORK_NAME_HEREInfo.plist
Jeremy Kelleher
Lo mismo aquí, copiando de otro proyecto
Firas Shrourou el
Esto es exactamente cuál era mi problema. Agregué otra carpeta de archivos rápidos y tenía un archivo plist allí. Eliminé ese archivo plist y todo está bien ... ¡Gracias!
Lkabo
17

Compruebe si ha cambiado el archivo ejecutable => $ (EXECUTABLE_NAME) a ​​cualquier otro nombre. Si ha cambiado este nombre, entonces muestra este error. Reemplácelo con $ (EXECUTABLE_NAME).

Pratik Patel
fuente
Sí, me pasó al intentar cambiar el nombre de la aplicación. El desarrollador de la temporada solo entró en plist distraídamente y cambió el "Archivo ejecutable" cuando en realidad quiero cambiar el "Nombre del paquete"
MobileMon
Esto me lo arregló. Sucedió después de cambiar el nombre de mi proyecto. Gracias.
emiliomarin
14

Producto -> Limpiar (cambio de comando K) lo arregló para mí

James Zatsiorsky
fuente
Buen recordatorio de que a veces la solución simple es la que funciona.
Pescolly
Se requirió un reinicio limpio y Xcode aquí bajo Xcode 7.2.1. La limpieza sola me llevó a un "error desconocido" sin ningún intento de compilación.
Tommy
13

¡¡Dios mío!! Pasé horas para resolver este problema.

En XCode 7.3 estaba teniendo un proyecto sin problemas.

Error que hice

Acabo de agregar carpetas físicas y moví mis archivos a ellas, comenzó el problema.

Lo intenté todo

  • Compilador predeterminado
  • Limpiar y construir
  • Restablecer simulador y reiniciar simulador, Xcode, iPhone incluso mac
  • Info.plist actualizada
  • Eliminar datos derivados
  • Editar el permiso en la carpeta del proyecto
  • Comprobando mis arquitecturas

nada funcionó :(

Como resolví

Estaba a punto de crear un nuevo proyecto y luego simplemente eliminé las carpetas físicas que agregué, ¡compilación limpia y SÍ!

¡¡Funciona!!

ingrese la descripción de la imagen aquí

swiftBoy
fuente
1
Sí, esto fue para mí también.
yeahdixon
Esto me ayudó. pero pensé que puedo usar la referencia de carpeta. extraño.
user1105951
13

Intente "cmd + shift + k" para limpiar el proyecto y reconstruir. Al menos funcionó para mí

Cuervo de un ojo
fuente
11

Tuve un problema similar (xCode 6.2) para el código de muestra descargado. Traté de conjunto Executable Namea Default in Info.plistpero esto no funcionó.

En su lugar, cambie el compilador para C / C ++ / Objective-C al compilador predeterminado (Apple LLVM 6.0) en lugar del compilador no compatible (com.apple.compilers.llvmgcc42) para el proyecto.

Captura de pantalla

Jayprakash Dubey
fuente
@iOSRocks: ¡Bienvenido amigo!
Jayprakash Dubey
10

1) Ir en primer lugar Opciones de compilación.

2) Luego cambió el valor del "Compilador para C / C ++ / Objective-C" a Compilador predeterminado.

limpio y funcionando :-)

Waseem Shah
fuente
1
Para aclararlo: 1. Vaya a Configuración de compilación (elija Todo y Combinado ) 2. Busque Opciones de compilación 3. Configure el compilador para C / C ++ / Objective-C en Compilador predeterminado
nburk
¿Por qué las personas votan esta copia de la respuesta mejor calificada?
Kiran
10

A veces, abrir un proyecto antiguo en una nueva versión de Xcode recibirá este mensaje.

Vaya a Navegador de problemas y siga la pista de advertencia 'Actualizar a configuraciones reconmimentadas'.

Boom, magia!

ManuQiao
fuente
10

Descubrí que cambiar mi compilador a LLVM 6.0 en las Opciones de compilación fue suficiente para mí (xcode 6.1)

ingrese la descripción de la imagen aquí

SleepsOnNewspapers
fuente
10

Recibí el mismo error en mi Xcode 6.1.1 para un proyecto descargado de gitHub que se comprometió hace 4 años. Para mí, configurar Arquitecturas en el valor predeterminado Arquitecturas estándar (armv7, arm64) y Compilador para C / C ++ / Objective-C en Compilador predeterminado en Configuración de construcción funcionó.

zeeawan
fuente
9

Recientemente encontré el mismo problema para ejecutar un proyecto antiguo (creado inicialmente en Xcode 4.x) en Xcode 6.0.1.

Solucioné el problema cambiando las Arquitecturas en la configuración del edificio al valor predeterminado, que es " Arquitecturas estándar (armv7, arm64) ".

Espero que esto pueda ayudar a cualquiera que tenga problemas similares :)

Hunter DRF
fuente
Esta respuesta debe marcarse como la correcta @drewag
Fede Cugliandolo
parece que hay diferentes problemas detrás de este mensaje de error críptico, de todos modos esto es lo que resolvió mi problema con XCode 6.1
Fabio Napodano
9

He tenido este error con varios de mis proyectos más antiguos que salgo del armario para actualizar. Parece que usar Xcode 6 con un código anterior parece provocar esto por alguna razón.

He arreglado esto en todos los proyectos con los que he hecho esto:

  1. Eliminar datos derivados
  2. en Producto: hacer una limpieza
  3. vaya a Configuración de compilación en el Destino del proyecto, vaya a Opciones de compilación y cambie el valor del "Compilador para C / C ++ / Objective-C" a ' Compilador predeterminado '.
idmean
fuente
9

Tuve el mismo problema en mi proyecto. Más tarde descubrió que el archivo de terceros ( fmdb para SQLite) utilizado en el proyecto contenía Info.plist .

¡Simplemente eliminar el archivo Info.plist funcionó para mí!

Info.plist

Jayprakash Dubey
fuente
A mí también me funcionó.
mkll
9

Mi aplicación funcionaba bien en XCode 9.4, pero cuando abrí mi proyecto en XCode 10 estaba experimentando este problema. Para mí, el problema era la configuración de compilación. Encontré la respuesta en esta página. https://forums.developer.apple.com/thread/112141 .

En resumen, vaya a Archivo> Configuración del espacio de trabajo ...> Generar sistema y cámbielo a "Sistema de compilación heredado"

informatiker
fuente
8

Bueno, en mi caso, solo cambio el nombre de los valores Bundle Namey Executable fileal info.plistmismo nombre del proyecto. Funcionó para mi.

Ans
fuente
8

Intenté todas las respuestas enumeradas y ninguna de ellas fue útil. El problema se debió a la existencia de otro archivo plist vinculado desde un submódulo a través de cocoapods. Afortunadamente, este era mi propio módulo, así que simplemente eliminé esta lista del proyecto de submódulo y reinstalé los pods.

solución

Más tarde entendí que la clave del problema estaba en el nombre de ese segundo plist: simplemente info.plist. Puede cambiar el nombre del archivo y volver a vincularlo a través de una sourcessección de un submódulo

Ese segundo archivo plist tenía un nombre único, por lo que se suponía que Xcode no se frustraría. Incluso mi configuración de destino apuntaba a una lista principal, no a unainfo.plist . Parece que Xcode toma consideraciones especiales sobre ese nombre

El error reproducido en Xcode 6.4 y Xcode 7.0

Tim
fuente
Algo similar me pasó a mí. Mi Info.plist no se configuró correctamente, por lo que XCode tomó la primera Info.plistvez que encontró en la carpeta del proyecto, que pertenecía a alguna dependencia no relacionada.
Ohad Schneider
gracias a dios, me acabas de salvar horas de depuración de Xcode sin sentido '
Alex
6

Tuve este problema similar. De alguna manera, mi valor para el archivo ejecutable clave se mezcló. Simplemente cámbielo nuevamente a $ {EXECUTABLE_NAME} (en su proyecto> Información). ¡Trabajó para mi!

Víbora
fuente
1
Una cosa a tener en cuenta es que el mío se configuró en $ (EXECUTABLE_NAME) y actualizarlo a $ {EXECUTABLE_NAME} solucionó el problema para mí.
Eric
5

No sé si el problema está relacionado, pero tal vez pueda ser una solución para cualquiera que esté tirando de los pelos como yo.

En mi caso, tengo un proyecto con muchos objetivos. Cada objetivo es una personalización de ese proyecto de la base que es una Cocoa Touch Static Libraryy los objetivos, Applications. Incluso si el mainarchivo se agrega a la compilación de la biblioteca, pero no en cada destino, aparece ese mensaje de error. Entonces, ¿qué hice? Agregó manualmente el mainarchivo a cada objetivo en la Compile Sourcessección y bingo, todo bien.

Gustavo Barbosa
fuente
Gracias, esto ayudó mucho.
JakeP
5

Para mí, el error estaba en el archivo .plist en la clave CFBundleExecutable. Cambié el nombre del ejecutable eliminando un espacio que estaba entre dos palabras. (Por ejemplo: de "Wild Racer" a "WildRacer"). ¡Tomó 1 día para detectarlo!

¡Xcode es tan inútil en la depuración!

jeddi
fuente
4

En mi caso, main.m que contiene la función main (...) no figuraba en la lista de "Compilar fuentes" en "Fases de compilación". Para verificar si este es el caso, ingrese en Fases de compilación y mire, si su main.m aparece en la lista "Compilar orígenes".

Awsed
fuente
1
No sé cómo descubriste esto, y no fue mi problema exacto, pero me llevó a la solución, así que ¡GRACIAS!
Ri_
3

Lo que me resolvió fue configurar Build Active Architecture Only de No a Yes .

Misha
fuente
3

con código X 6.3.2

[Configuración de compilación] Opciones. [Todos] - [Opciones de compilación] - [Compilador para C / C ++ / Objective-C] - [Compilador predeterminado (Apple LLVM 6.1)]

Luego reconstruye el proyecto, y se ejecuta bien.

bruce
fuente
2

En mi caso, ayudó a cerrar Xcode, reparó los permisos con la Utilidad de Discos. Solo después de un reinicio funcionó a las mil maravillas.

Markus Zeller
fuente
Tuve este problema después de actualizar OSX hoy. Esto lo resolvió en menos de un minuto.
tonyedwardspz 01 de
2

Como también me enfrenté a este problema hoy por la mañana y ninguna de las respuestas me ayudó particularmente en mi caso. Y después de intentarlo durante horas, descubrí el problema.

En realidad, mientras trabajaba en storyboard por error, simplemente cambié el nombre de mi " Main.storyboard " a " .storyboard " y lo cambié de nuevo a " Main.storyboard " . " resolvió mi problema.

SOLUCIÓN (Según mi problema) : es posible que haya cambiado el nombre de cualquier archivo debido a que xcode no pudo cargarlo y planteó un problema. Por ejemplo: como se mencionó anteriormente, el caso de cambiar el nombre de " Archivo ejecutable "
Área de posible problema: pueden ser los últimos archivos en los que estaba trabajando.

rahulchona
fuente