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