“O dispositivo iOS de destino de execução não é válido para executar o esquema”


92

Estou executando meu aplicativo em um iPhone 5 / iOS 6, mas quando tento executá-lo em um iPhone 4S / iOS6, recebo "O dispositivo iOS de destino de execução não é válido para executar o esquema NN. O esquema não contém itens construíveis que pode ser construído para as arquiteturas suportadas pelo dispositivo de designação de execução ".

Eu li postagens anteriores sobre isso, mas elas envolvem problemas com o Deployment Target. No meu caso, tenho o Base SDK definido como 6.1 e o Deployment Target definido como 5.0.

O iPhone 4 tem a versão iOS 6.0.1.

Respostas:


271

Era um bug no XCode, fechei e reabri o Xcode e ele começou a funcionar.

Eu percebi esse tipo de coisa muitas vezes agora com o Xcode com outros problemas, é muito frustrante que a ferramenta seja tão duvidosa.


4
E a seqüência continua. Este bug ainda está disponível em 9.4.1.
tente pegar finalmente

1
No xcode 10.1 após reiniciar o xcode também está chegando, não foi possível executar o aplicativo no iPhone.
R. Mohan

Ainda um problema em 11.1
James Jackson

4
e em 11.2. 😬
Michael Schinis

Este bug existe no Xcode 11.4.1. Sair do Xcode não corrige isso. Cmon Apple
vikzilla


24

Eu tive o mesmo problema. O problema que encontrei é que, por engano, escolhi o iPad como destino de implantação, pois o XCode mostrou que o iPhone 5 é um dispositivo inválido. insira a descrição da imagem aqui. Espero que ajude. Depois, mudei o alvo para iPhone e funcionou.


da mesma forma, escolhi um iPhone 7 Plus para um aplicativo para iPad, então simplesmente mudei o seletor do simulador para iPad e o aviso desapareceu.
Peter Brockmann

não é possível ter um aplicativo universal que também suporte o Watch?
Chris Allinson

16

Às vezes, isso é algum tipo de problema de memória. Feche algum aplicativo e tente novamente.

Feche o Xcode também e abra novamente. Funcionou para mim.

Felicidades.


16

O iPhone de destino da execução não é válido para executar o esquema.

  • Saia do Xcode
  • Abra o Xcode
  • Projeto limpo
  • Executar projeto

Vai funcionar


7
Uma palavra: reiniciar o Xcode resolverá o problema.
kit

10

Basta reiniciar o Xcode e seu problema será detectado automaticamente.


5

No meu caso, o problema estava faltando o valor do executável selecionado em Esquema -> Perfil -> Executável (e selecionado a partir da depuração de configuração de compilação suspensa e executável o "aplicativo" .app).

insira a descrição da imagem aqui


Onde encontrar isso?
Vidya Sagar

1
Produto -> Esquema -> Editar Esquema ou clique no ícone superior que exibe o ícone do aplicativo próximo ao ícone de reprodução ...
Andrea Leganza

5

Quit and Reset Xcodepode resolver a maioria dos problemas. A outra causa Devicenão é o suporte do iPhone, você pode

Target-> selecione o esquema -> General-> Deployment Info-> Device-> selecione Universalou o dispositivo atual que você deseja.

insira a descrição da imagem aqui


4

Uma solução simples.

1) Forçar o encerramento do X-Code

2) Forçar o encerramento do iTunes

3) Reconecte o iPhone

4) Código X aberto


3

Vá para as informações do projeto definir o destino de desenvolvimento como 4.3 ou 5.1.1 e o mesmo no destino também.


3

Eu tive esse problema no XCode 9.0.1.

Parece que o XCode não atualiza a lista de dispositivos conectados.

Você pode perceber que depois de desconectar o dispositivo, você ainda pode escolhê-lo como um alvo. Portanto, o XCode pode, na verdade, estar tentando se conectar a um dispositivo falso.

Para consertar isso:

  1. Edite o esquema.
  2. Selecione novamente o executável do esquema.
    • isso parece forçar o XCode a atualizar a lista de dispositivos conectados.

Se isso não funcionar, tente reconectar o dispositivo (cabo) antes de fazer isso.


Ou talvez, alguma outra combinação de desconectar o dispositivo, conectar o dispositivo e selecionar novamente o executável do esquema.

Como uma medida desesperada, você também pode tentar trocar o cabo que conecta seu dispositivo móvel ao PC.

Mas idealmente ... o Xcode deve ser corrigido.


: A ... meu herói !!! Porquê? Por que o Xcode está tão cheio de bugs, a cada iteração, quase sempre piorando ... é tão frustrante que eles têm baixa prioridade para seu Dx !!!
Chris Allinson

3

Basta ir para Dispositivos -> O dispositivo pretendido que você queria executar (Eu era o simulador iPhone6) -> Selecionar o dispositivo (eu fui selecionado iPhone6) -> Clique com o botão direito-> Certifique-se de que o 'Mostrar o menu de destino da execução' esteja ativado.

Para mim, foi ativado. Eu fiz, funcionou.


2

Eu enfrentei esse problema no XCode 9, mas depois percebi que, por alguns motivos, eu havia desmarcado o destino de execução na janela "Dispositivos e Simuladores"

insira a descrição da imagem aqui


1

Selecione seu projeto, em Alvos, selecione seu alvo principal e, em seguida, na guia Configurações de compilação, há um campo que diz "Arquiteturas válidas". Certifique-se de que "armv7" também esteja lá. Você provavelmente só tem armv7s agora.


Obrigado por responder, no entanto, armv7 já está lá junto com armv7s.
Gruntcakes

tente remover armv7s e veja se ele permite que você o execute
Pochi

1

Estou usando o XCode 8.2.1 com o mesmo problema.

Solução:

-> Vá para Dispositivos

-> Adicionar simuladores adicionais

-> Simulador de clique com o botão direito que você está usando

-> Mostrar no menu Run Destination <-Ativar esta opção


0

Para mim, o Xcode falhou ao copiar símbolos para o dispositivo conectado devido a pouco espaço em disco. Primeiro verifique se você tem símbolos conectados ao dispositivo em /Users/$USERNAME/Library/Developer/Xcode/iOS\ DeviceSupport/.

Como eu tinha o iOS 8.3 (12F70) instalado no meu dispositivo, o caminho para mim era /Users/$USERNAME/Library/Developer/Xcode/iOS DeviceSupport/8.3 (12F70)/SymbolsO tamanho deste diretório deve ser em torno de 2,5 GB. Quando eu tive esse problema, o tamanho era 484 KB.

Para consertar eu

  1. Libere cerca de 3 GB de espaço em disco. Você pode excluir pastas de quaisquer dispositivos não suportados que possa ter em / Users / $ USERNAME / Library / Developer / Xcode / iOS \ DeviceSupport /
  2. Dispositivo desconectado do Xcode e Xcode fechado.
  3. Removida a pasta no caminho acima (tudo em 8.3 (12F70).
  4. Inicie o Xcode e conecte o dispositivo.
  5. O Xcode deve começar a copiar os símbolos, uma vez feito o tamanho da pasta deve ser de cerca de 2,5 GB

0

Isso aconteceu comigo porque troquei de ramos no controle de origem com esquemas não compartilhados.

Minha xcuserdatapasta foi ignorada pelo git e continha um esquema que esqueci de compartilhar. Isso significava que eu estava tentando usar um esquema de uma ramificação de código completamente diferente.

Refiz o esquema que corrigiu o problema e marquei-o como compartilhado para que ficasse na xcshareddatapasta e fizesse o check-in no controle de origem.


0

Para o meu caso, verifique o alvo -> Configurações de compilação -> Pesquisar "Tipo Mach-O" e verifique o valor, deve ser Executável / Biblioteca Dinâmica / Biblioteca Estática. Para outros valores de tipo, o destino NÃO pode ser construído e executado.


0

Isso é semelhante ao comentário de Kunal Gupta, mas recebi este erro depois de executar um projeto Xcode em um iPad real (o destino de implantação foi alterado para iPad e eu queria executá-lo no meu simulador de iPhone). Lembre-se de alterar as informações de implantação depois de usar um dispositivo / simulador real, especialmente ao mudar de iPad para iPhone.


0

Swift 3 ou 4 Xcode 8 ou 9 Uma coisa que você pode fazer é clicar no arquivo do projeto para abrir as configurações gerais, recursos, etc.

  1. Escolha as configurações de compilação
  2. Pesquisar SDK Base
  3. Certifique-se de que a depuração E a liberação tenham o mesmo tipo de compilação.

Eu tinha a depuração definida para ios 11.0 e a versão para macOS 10.13 Eles devem ser os mesmos para arquivar


0

No meu caso,

Abro meu iPhone aqui está o alerta que aparece em meu iPhone para Trust and Don't Trust. Eu clico em Confiar. Funciona bem.

insira a descrição da imagem aqui


Ok, mas isso não ajuda no meu caso.
Ananta Prasad

0

Mudar para uma porta USB diferente e reiniciar o Xcode resolveu o problema. Tive esse problema no iMac executando o Xcode 9.1 sempre que tentei conectar qualquer dispositivo iOS a uma porta USB específica. Se suas portas USB pararam de funcionar, verifique isso .

  • Abra o Menu Apple> Sobre este Mac> Mais informações> Relatório do sistema> USB e verifique se o dispositivo aparece na árvore de dispositivos USB. Se não estiver aqui, tente outro cabo USB.

insira a descrição da imagem aqui


0

Percebo isso com certas combinações de cabo + dispositivo (provavelmente mau contato), reiniciar o XCode só ajudará por uma ou duas execuções e então ele ataca novamente. Mudar o cabo / dispositivo é a única solução de longo prazo que funcionou para mim.


0

seu bug xcode, até 10.0 beta 3 (10L201y)


considere adicionar mais informações à sua resposta para que outras pessoas possam entender o mesmo.
Inder

0

No meu caso, esse problema foi corrigido alterando as arquiteturas (Build Settings -> Architectures) para as arquiteturas padrão - $ (ARCHS_STANDARD)

Certifique-se de ter arm64 armv7 armv7s em arquiteturas válidas.


0

No meu caso, nenhuma das respostas dadas funcionou para mim.

Eu estava tentando configurar o TravisCI para o meu projeto e foi o que fiz:

Selecione Alvo> Editar Esquema> Construir

insira a descrição da imagem aqui

Marque a opção "executar" no alvo Testes e o problema desapareceu, espero que ajude alguém, passei 2 dias tentando consertar.


0

No caso do iOS 13.x - O que funcionou para mim foi desemparelhar meu relógio com o meu telefone e repará-lo no meu iPhone. Eu não iria apenas desemparelhá-lo via Bluetooth - repeti todo o ciclo como se tivesse um novo relógio. Demorou 10 minutos para fazer a coisa toda. Quando executei meu aplicativo novamente, ele funcionou. A partir daí, certifique-se de que todos os seus alvos tenham o mesmo login para identidade.


0

Outras soluções podem funcionar para outros cenários, mas, no caso de usar o Xcode 11, fui em "Build Settings" do meu destino de teste e mudei para universal em "Deployment" -> "Targeted Device Family"

insira a descrição da imagem aqui

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.