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

Gruntcakes
fonte

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.

Gruntcakes
fonte
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
51

Apenas saia do XCode e reinicie (XCode 9.0.1)

geek1706
fonte
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.

Kunal Gupta
fonte
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.

Manish Kumar
fonte
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

Mahesh Chaudhari
fonte
7
Uma palavra: reiniciar o Xcode resolverá o problema.
kit
10

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

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

Andrea Leganza
fonte
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

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

Apostolos Chalkias
fonte
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.

Vaibby
fonte
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.

SirEnder
fonte
: 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.

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

Rikesh Subedi
fonte
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.

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

MahajanSagar
fonte
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
dev
fonte
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.

Akiraspeirs
fonte
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.

Itachi
fonte
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.

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

Linger Software
fonte
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

Khawar Islam
fonte
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

raurora
fonte
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.

reTs
fonte
0

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

Jeason niu
fonte
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.

Jogos e aplicativos EO
fonte
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.

Carlos Mejía
fonte
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.

Nadine Rose
fonte
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

Reimond Hill
fonte