“O arquivo” MyApp.app “não pôde ser aberto porque você não tem permissão para visualizá-lo” ao executar o aplicativo no Xcode 6 Beta 4


273

Sempre que tento executar meu aplicativo no Xcode 6 Beta 4, recebo o erro:

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

Este erro aparece independentemente do simulador ou dispositivo que eu segmentar.

Eu tentei:

  • Excluindo todos os dados derivados do Organizer no Xcode
  • Reparando permissões na minha unidade
  • Elevar manualmente as permissões do MyApp.app criado
  • Reiniciando meu computador

Mais alguém encontrou esse problema e encontrou uma solução?

Captura de tela


1
Estou recebendo o mesmo problema com o XCode 6.1. No começo, o problema era apenas com o simulador; agora, depois de seguir algumas pistas neste post, também tenho o mesmo erro ao executar o telefone de destino.
Bamaco

1
Eu segui a solução @YuAn. Funciona muito bem para o simulador. Obrigado Mas quando tento construí-lo no dispositivo, ainda recebo a mensagem dizendo 'Não tenho permissão para visualizá-lo'. O arquivo myapp.app no ​​diretório de produtos no xcode e também no diretório de dados derivados é exibido bloqueado mesmo depois de tentar criar após excluir o conteúdo dos dados derivados.
Srinivasan N

4
Outra maneira (estúpida) de desencadear esse problema: Compile um aplicativo apenas com recursos e sem arquivos de origem. Não me pergunte como eu sei que :)
Krumelur

4
Produto> Limpo, resolva isso para mim
mazorati 30/09/16

No meu caso, nenhum deles não funcionou !! Depois de excluir o arquivo de pilha do Xcode e anexá-lo novamente ao projeto, ele funciona como um encanto! Espero ajudar vocês, pessoal !!
Ravi

Respostas:


252

Eu uso o Xcode6 GM. Eu encontrei o mesmo problema. O que eu fiz foi ir para Configurações de compilação -> Opções de compilação. Então mudei o valor do "Compilador para C / C ++ / Objective-C" para Compilador padrão.insira a descrição da imagem aqui


146

Também está com o problema no DEVICE (não apenas no simulador)?


As outras soluções só o consertaram no simulador, não no dispositivo.

Para mim, esse problema ocorreu (no Xcode 6) quando eu tentava alterar as propriedades principais do info.plist enquanto tentava alterar o nome do meu aplicativo.

No info.plist , mudei o Executable Filenome para algo diferente do padrão ${EXECUTABLE_NAME}...

Eu confundi esse campo com o que altera o nome do aplicativo sob o ícone no trampolim.


10
No meu caso, isso funcionou obrigado. Eu estava alterando outros campos semelhantes no meu arquivo <appname> -Info.plist e, depois que alterei o Arquivo executável de volta para $ {EXECUTABLE_NAME}, como você sugeriu, ele foi construído e executado.
Slowburner

O mesmo foi o meu caso
Bala Vishnu

Muito obrigado @ Albert Renshaw, sua resposta resolveu meu problema. Estou procurando uma solução para isso desde os últimos dois dias.
Nilesh Kikani

Mesmo problema, o nome do campo é "Nome de exibição do pacote
configurável

1
Isso me levou à minha solução, que era obter um Info.plist extra quando incluí a fonte de uma biblioteca externa no meu código, e eles tinham um Info.plist dentro da pasta do grupo de ativos. Remover esse Info.plist extra corrigiu meu problema.
21418 chadbag

145

No Xcode, faça o seguinte

Janela -> Organizador -> Projetos -> O aplicativo com o problema -> botão excluir em Dados derivados.

Eu então limpei o projeto e pronto

trabalho


Eu segui a solução @YuAn. Funciona muito bem para o simulador, mas quando tento construí-lo no dispositivo, ainda recebo a mensagem dizendo 'Não tenho permissão para visualizá-lo'. O arquivo myapp.app no ​​diretório de produtos no xcode e também no diretório de dados derivados é exibido bloqueado mesmo depois de tentar criar após excluir o conteúdo dos dados derivados. Alguma idéia do que deu errado?
Srinivasan N

isso funcionou para mim, mas continua acontecendo. Eu não posso continuamente apagar dados derivado toda vez que eu quiser executar o aplicativo no simulador ...
zumzum

Estou enfrentando o mesmo problema tentei várias soluções, mas não funcionou para mim .. Ajuda será apreciada
Giriraj.Mulay 17/06


45

Corrigi-o limpando uma pasta de compilação. Basta ir ao menu 'Produto' e Opção + Clique em 'Limpar'. Depois disso, um problema foi resolvido.


30

Houve um problema com o Info.plist do projeto. Criei um novo projeto com o mesmo nome no Xcode 6 beta 4 e substituí o Info.plist do projeto real pelo novo. O projeto então construiu e correu bem.

Olhe para o diff, parece que a plist pode ter se misturado com a plist de um playground. O identificador do pacote configurável era "com.apple.dt.playground.iOS-18300-13" e os nomes dos executáveis ​​e dos pacotes configuráveis ​​foram "iOS", juntamente com algumas outras curiosidades.

Este é o diff completo caso alguém precise dele para referência:

        <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>

Sim, eu tive um problema semelhante. O arquivo Info.plist estava no formato de arquivo binário. Tinha para convertê-lo
Luca Torella

28

Eu já tive esse erro no Xcode 8.2. A razão pela qual descobri para mim, outro Info.plist é adicionado ao meu projeto ao adicionar a biblioteca (copiar manualmente).

Para que o Xcode fique confuso ao selecionar o Info.plist correto .

Acabei de remover esse Info.plist da biblioteca adicionada.

Então está funcionando bem sem nenhum alerta de permissão.


Você também pode alterar o nome do Info.plist para FRAMEWORK_NAME_HEREInfo.plist
Jeremy Kelleher

O mesmo aqui, copiando de outro projeto
Firas Shrourou 23/01

Esse é exatamente o meu problema. Eu adicionei outra pasta de arquivos rápidos e tinha um arquivo plist lá. Eu apaguei esse arquivo plist e está tudo bem .. Obrigado!
Lkabo # 8/19

17

Verifique se você alterou o arquivo executável => $ (EXECUTABLE_NAME) para qualquer outro nome. Se você alterou esse nome, ele mostra esse erro. Substitua-o por $ (EXECUTABLE_NAME).


Sim, aconteceu comigo ao tentar alterar o nome do aplicativo. Temporada desenvolvedor então apenas fui em plist distraidamente e mudou "arquivo executável", quando na realidade eu quero mudar "Nome Bundle"
MobileMon

Isso consertou para mim. Isso aconteceu depois que eu renomeei meu projeto. Obrigado.
Emiliomarin

14

Produto -> Limpo (shift de comando K) corrigiu para mim


Bom lembrete de que às vezes a solução simples é a que funciona.
Pescolly

Uma reinicialização limpa e do Xcode foi necessária aqui no Xcode 7.2.1. Só a limpeza me levou a um "erro desconhecido" sem nenhuma tentativa de criação.
Tommy

13

Minha nossa!! Passei horas para resolver esse problema.

No XCode 7.3, eu estava tendo um projeto sem problemas.

Erro que cometi

Acabei de adicionar pastas físicas e movi meus arquivos para eles, o problema começou.

Eu tentei de tudo

  • Compilador padrão
  • Limpar e construir
  • Redefina o simulador e reinicie o simulador, Xcode, iPhone e até mac
  • Info.plist atualizado
  • Exclusão de dados derivados
  • Editando a permissão na pasta do projeto
  • Verificando minhas arquiteturas

nada funcionou :(

Como eu resolvi

Eu estava prestes a criar um novo projeto e, em seguida, acabei de excluir as pastas físicas adicionadas, a compilação limpa e o YESS !!

Funciona!!

insira a descrição da imagem aqui


1
YUP isso foi para mim também.
yeahdixon

isso me ajudou. mas achei que poderia usar referência de pasta. estranho.
user1105951

13

Tente "cmd + shift + k" para limpar o projeto e reconstruir. Pelo menos funcionou pra mim


11

Eu tive um problema semelhante (xCode 6.2) para o código de exemplo baixado. Tentei conjunto Executable Namepara Default in Info.plistmas isso não funcionou.

Em vez disso, altere o compilador para C / C ++ / Objective-C para compilador padrão (Apple LLVM 6.0) em vez de compilador não suportado (com.apple.compilers.llvmgcc42) para o projeto.

Captura de tela


@iOSRocks: Bem-vindo amigo!
Jayprakash Dubey

10

1) Vá em primeiro lugar Opções de compilação.

2) Altere o valor do "Compilador para C / C ++ / Objective-C" para Compilador padrão.

limpo e funcionando :-)


1
Para esclarecer: 1. Vá para Configurações de compilação (Escolha todas e combinadas ) 2. Pesquise por opções de compilação 3. Defina o Compilador para C / C ++ / Objective-C como Compilador padrão
nburk

Por que as pessoas votam nessa cópia da resposta com a melhor classificação?
Kiran

10

Às vezes, abrir um projeto antigo na nova versão do Xcode receberá essa mensagem.

Vá para o Navegador de problemas e siga a dica de aviso 'Atualizar para as configurações reconmentadas'.

Crescimento, mágica!


10

Descobri que alterar meu compilador para LLVM 6.0 nas Opções de compilação foi suficiente para mim (xcode 6.1)

insira a descrição da imagem aqui


10

Eu obtive o mesmo erro no meu Xcode 6.1.1 para um projeto baixado do gitHub que foi confirmado há 4 anos. Para mim, definir Arquiteturas para o valor padrão Arquiteturas padrão (armv7, arm64) e Compilador para C / C ++ / Objective-C para Compilador padrão nas configurações do edifício funcionou.


9

Recentemente, encontrei o mesmo problema para executar um projeto antigo (criado inicialmente no Xcode 4.x) no Xcode 6.0.1.

Corrigi o problema alterando as arquiteturas nas configurações de construção para o valor padrão, que é " Arquiteturas padrão (armv7, arm64) ".

Espero que isso possa ajudar qualquer pessoa que tenha problemas semelhantes :)


Essa resposta deve ser marcado como a correta @drewag
Fede Cugliandolo

parece que existem problemas diferentes por trás dessa mensagem de erro enigmática, de qualquer maneira, foi isso que resolveu meu ptoblem com o XCode 6.1 #
Fabio Napodano

9

Eu tive esse erro com vários dos meus projetos mais antigos que estou saindo do armário para atualizar. Parece que o uso do Xcode 6 com códigos mais antigos parece trazer isso por algum motivo.

Corrigi isso em todos os projetos com os quais:

  1. Excluir dados derivados
  2. no produto: faça uma limpeza
  3. vá para Configurações de compilação no destino do projeto e vá para Opções de compilação e altere o valor do "Compilador para C / C ++ / Objective-C" para ' Compilador padrão '.

9

Eu tive o mesmo problema no meu projeto. Mais tarde, descobriu que o arquivo de terceiros ( fmdb for SQLite) usado no projeto continha o Info.plist .

Simplesmente excluir o arquivo Info.plist funcionou para mim!

Info.plist


Trabalhou para mim também.
Mkll 7/09

9

Meu aplicativo estava funcionando bem no XCode 9.4, mas quando abri meu projeto no XCode 10, estava com esse problema. Para mim, o problema foi a configuração de compilação. Encontrei a resposta nesta página https://forums.developer.apple.com/thread/112141 .

Em resumo, vá para Arquivo> Configurações da área de trabalho ...> Criar sistema e altere-o para "Sistema de criação herdado"


8

Bem, no meu caso, eu apenas renomeio os valores Bundle Namee igual ao nome do projeto. Funcionou para mim.Executable fileinfo.plist


8

Tentei todas as respostas listadas e nenhuma delas foi útil. O problema ocorreu devido à existência de outro arquivo plist vinculado a partir de um submódulo via cocoapods. Felizmente, esse foi o meu próprio módulo, então eu apenas excluí essa lista do projeto do submódulo e reinstalei os pods.

solução

Mais tarde entendi que a chave do problema estava no nome desse segundo argumento: simplesmente info.plist. Você pode renomear o arquivo e vinculá-lo novamente através de uma sourcesseção de um submódulo

O segundo arquivo do plist tinha um nome único, portanto o Xcode não deveria ficar frustrado. Até minhas configurações de alvo apontaram para uma lista principal, não para uma info.plist. Parece que o Xcode leva considerações especiais sobre esse nome

O bug reproduzido no Xcode 6.4 e Xcode 7.0


Uma coisa semelhante aconteceu comigo. Meu Info.plist não foi configurado corretamente, portanto o XCode foi o primeiro Info.plista encontrar na pasta do projeto, que pertencia a alguma dependência não relacionada.
Ohad Schneider

Graças a Deus, você acabou de salvar-me horas de debuggin Xcode inútil
Alex

6

Eu tive esse problema semelhante. De alguma forma, meu valor para o arquivo executável principal foi confundido. Apenas mude de volta para $ {EXECUTABLE_NAME} (em seu projeto> Informações). Trabalhou para mim!


1
Uma coisa a observar é que o meu foi definido como $ (EXECUTABLE_NAME) e atualizá-lo para $ {EXECUTABLE_NAME} corrigiu o problema para mim.
Eric

5

Não sei se o problema está relacionado, mas talvez possa ser uma solução para quem puxa os cabelos como eu.

No meu caso, eu tenho um projeto com muitos objetivos. Cada destino é uma personalização daquele projeto base, que é um Cocoa Touch Static Librarye os destinos Applications. Mesmo se o mainarquivo for adicionado à compilação da biblioteca, mas não em cada destino, essa mensagem de erro será exibida. Então o que eu fiz? Adicionou manualmente o mainarquivo a cada destino na Compile Sourcesseção e no bingo, tudo bem.


Obrigado, isso ajudou muito.
JakeP

5

Para mim, o erro estava no arquivo .plist na chave CFBundleExecutable. Eu havia renomeado o executável removendo um espaço que estava entre duas palavras. (Por exemplo: de "Wild Racer" para "WildRacer"). Levou 1 dia para vê-lo !!

Xcode é muuuuito inútil na depuração!


4

No meu caso, main.m contendo a função main (...) não estava contida na lista de "Fontes de Compilação" em "Fases de Compilação". Para verificar se é esse o caso, entre em Fases de compilação e verifique se seu main.m aparece na lista "Fontes de compilação".


1
Eu não sei como você descobriu isso, e não era meu problema exato, mas me levou à solução, então OBRIGADO!
Ri_

3

O que o resolveu para mim foi definir Construir Arquitetura Ativa Apenas de Não para Sim .


3

com código X 6.3.2

Opções de [Build Settings]. [Tudo] - [Opções de compilação] - [Compilador para C / C ++ / Objective-C] - [Compilador padrão (Apple LLVM 6.1)]

Em seguida, reconstrua o projeto e ele funcionará bem.


2

No meu caso, ajudou a fechar o Xcode, reparou as permissões com o Utilitário de Disco. Somente após uma reinicialização funcionou como um encanto.


Eu tive esse problema depois de atualizar o OSX hoje. Isso resolveu em menos de um minuto.
#

2

Como eu também enfrentei esse problema hoje de manhã e nenhuma das respostas me ajudou particularmente no meu caso. E depois de tentar por horas, descobri o problema.

Na verdade, enquanto trabalhava no storyboard por engano, acabei de renomear meu " Main.storyboard " para " .storyboard " e alterá-lo novamente para " Main.storyboard " resolvendo meu problema.

SOLUÇÃO (conforme meu problema) : pode ser que você renomeou qualquer arquivo devido ao qual o xcode não pôde carregá-lo e levantou um problema. Por exemplo: conforme mencionado acima, o caso de alterar o nome do " arquivo executável "
Área de possível problema: podem ser os últimos arquivos em que você estava trabalhando.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.