Recebo este erro quando tento testar um aplicativo.
Um dispositivo somente de construção não pode ser usado para executar este destino.
Nenhum dispositivo iOS compatível está disponível. Conecte um dispositivo para executar seu aplicativo ou escolha um dispositivo simulado como destino.
Respostas:
adicionar
-destination 'platform=iOS Simulator,name=iPhone 6,OS=9.3'
ao seuxcodebuild
fonte
xcodebuild test -project YourProject.xcodeproj -scheme YourProject -destination 'platform=iOS Simulator,name=iPhone 6,OS=9.3'
xcodebuild
. Tudo que você precisa é executar este comando com parâmetrosTalvez o esquema tenha mudado para um dispositivo genérico. Tente escolher novamente o dispositivo conectado no menu Esquema:
fonte
Abaixo está o meu caminho
Selecione projeto -> Geral -> Informações de implantação -> Destino de implantação -> escolha uma versão inferior
fonte
Encontro um problema em que apenas "Dispositivo iOS genérico" pode ser escolhido. e quando eu corro, ele diz "Um dispositivo apenas de construção não pode ser usado para executar este alvo. Nenhum dispositivo iOS compatível está disponível. Conecte um dispositivo para executar seu aplicativo ou escolha um dispositivo simulado como destino"
e minha solução para o problema é selecionar Build Settings ---> Deployment -----> IOS Deployment Target ----> escolher uma versão inferior como 8.0,
e descobri que o simulador saiu e pode ser escolhido.
fonte
Você precisa obter uma lista de destinos válidos. Para fazer isso, especifique um par de valores-chave incorreto e xcodebuild exibirá as combinações que funcionam:
Comando de lista de destinos
xcodebuild test -destination 'platform=iOS Simulator' -workspace Register.xcworkspace -scheme ThatTestTarget
Exemplo de saída
Available destinations for the "ThatTestTarget" scheme: { platform:iOS Simulator, id:145A9B7E-B336-4819-8059-2FFEC408E05E, OS:11.1, name:iPad (5th generation) } { platform:iOS Simulator, id:69ABAF6F-ADA3-4E38-AC97-D71001447663, OS:9.3, name:iPad 2 } { platform:iOS Simulator, id:550E2F18-406D-4586-84BB-E48F1D704F27, OS:10.3.1, name:iPad Air } { platform:iOS Simulator, id:94734F1C-775F-40FA-9015-8196C08805EF, OS:11.1, name:iPad Air } { platform:iOS Simulator, id:1DB953DD-CD97-4EC7-8006-BCF01DF3E63F, OS:11.1, name:iPad Air 2 } { platform:iOS Simulator, id:DE3072DA-2E31-423D-9D77-220626F8B90A, OS:11.1, name:iPad Pro (9.7-inch) } { platform:iOS Simulator, id:3B5D18DB-13B5-4F28-B654-7D2ECDD1F6F0, OS:11.1, name:iPad Pro (10.5-inch) } { platform:iOS Simulator, id:A4225E3A-512C-4F42-ADD9-1E7E448C4D27, OS:11.1, name:iPad Pro (12.9-inch) } { platform:iOS Simulator, id:684FF1BA-8784-4B7C-B4E5-5231772F0FAC, OS:11.1, name:iPad Pro (12.9-inch) (2nd generation) }
Alterar dois pontos para sinais de igual, remover espaços, ignorar o ID
Então, se você quiser usar este destino:
platform:iOS Simulator, id:684FF1BA-8784-4B7C-B4E5-5231772F0FAC, OS:11.1, name:iPad Pro (12.9-inch) (2nd generation)
Troque os dois pontos por vírgulas, remova os espaços, remova o ID, e você obterá esta string:
platform=iOS Simulator,OS=11.1,name=iPad Pro (12.9-inch) (2nd generation)
Então, todo o comando seria:
xcodebuild test -destination 'platform=iOS Simulator,OS=11.1,name=iPad Pro (12.9-inch) (2nd generation)' -workspace Register.xcworkspace -scheme ThatTestTarget
fonte
Você está construindo para o "Build Only Device" do Xcode, que está compilando o aplicativo. para o processador ARM (enquanto a compilação para o simulador tem como alvo a CPU Intel no seu Mac).
Conecte um dispositivo e selecione-o no pop-up do esquema ativo ou selecione um dos simuladores e pronto.
fonte
Com o XCode 8.3.2, recebi esta mensagem de erro depois de tentar executar o aplicativo em um dispositivo bloqueado. Eu desbloqueei e reconectei conforme solicitado, mas o "dispositivo somente de compilação não pode ser usado para executar este destino." mensagem apareceu.
Simplesmente mudei o alvo para um simulador e mudei de volta - isso resolveu meu problema.
fonte
Pelo que vale a pena, se você obtiver o erro
A build only device cannot be used to run this target
, e veja no navegador de problemas este texto:então o problema é que o projeto requer um iOS SDK mais recente do que a sua versão do Xcode disponível. Você encontrará esse problema em, digamos, projetos que aproveitam as vantagens das novas / beta funcionalidades do iOS SDK, como ARKit.
A solução é baixar a versão beta mais recente do Xcode , que deve ter suporte para o iOS SDK não divulgado publicamente que o aplicativo requer. Se você tiver o Xcode mais recente, tente encontrar o iOS de destino em
Preferences -> Components -> Simulators
.fonte
Se você estiver usando cordova / Ionic, vá para Produtos -> Destino-> Escolha o alvo e execute novamente
fonte
Modificação da resposta de @Quver. Com a versão mais recente do Xcode (8.3), os parâmetros para o comando de destino devem ser fornecidos entre aspas duplas. As aspas simples não funcionaram para mim
adicionar
-destination "platform=iOS Simulator,name=iPhone 7"
ao seuxcodebuild
Eu não mencionei a versão do sistema operacional no comando acima porque quando uma nova versão do iOS é lançada, este comando passará por um erro informando que este dispositivo não foi encontrado. Portanto, é melhor não dar a versão do sistema operacional
fonte
No meu caso, isso aconteceu quando selecionei um dispositivo iOS genérico e tentei "construir" para publicá-lo na AppStore.
Mas eu deveria ter selecionado Produto -> Arquivo em vez disso
fonte
fonte
As coisas do xcodebuild não estavam funcionando no meu caso.
Aqui está o que resolvi.
Eu removi minha conta da apple e reconfigurei (login) na preferência xcode, e isso foi resolvido.
ps. no iphone 10.1, eu precisava apertar o botão Confiar em Geral> Gerenciamento de dispositivos> informações da conta> Confiar no aplicativo
fonte
Corrigi este problema para o emulador,
Em primeiro lugar, verifique sua lista de emuladores
depois de escolher qualquer dispositivo e clicar em verificar versão do sistema operacional
Se você tem apenas o sistema operacional Apple Watch, deve baixar o novo IOS Simulator
e clique em baixar mais tempos de execução do simulador.
escolha o Simulador IOS correto e faça o download.
fonte
Corrigi esse problema acessando as configurações do projeto e, na seção 'Metas', tive que definir a meta de Testes para a equipe correta.
fonte
Bem, se você deseja obter a lista de destinos disponíveis , chame xcodebuild e passe a opção de linha de comando
-showdestinations
, e ele imprimirá opções válidas para você escolher:xcodebuild -showdestinations -workspace Register.xcworkspace -scheme ThatTestTarget
fonte
Tentei quase tudo acima, incluindo reiniciar o XCode, nenhum deles funcionou para mim. Resolvi esse problema simplesmente reiniciando meu Mac . Sim, a solução clássica.
Uma observação lateral: este problema ocorreu com meu XCode depois que ele solicitou minha senha do Mac, provavelmente após uma atualização automática.
fonte
Para xcode v11:
Encontrei esse problema ao tentar criar um arquivo do meu projeto. Eu estava tentando clicar em "Construir" quando o dispositivo foi definido como "Dispositivo iOS genérico", mas as etapas adequadas foram:
fonte
Encontrei a mesma mensagem de erro. Aqui está o que experimentei e fiz até agora;
Não sou especialista, só queria compartilhar minha experiência e espero que isso possa ajudar alguém.
fonte
Eu tive um problema totalmente diferente. Por alguma razão, meu aplicativo " Dispositivos " foi definido como versão universal , ao contrário do iPhone . Quando mudei para o iPhone, tudo funcionou. Não precisa de nenhuma configuração extra.
fonte
Isso funcionou para mim.
Você está tentando executar em um dispositivo quando já o construiu para um esquema diferente. Vamos para
Em seguida, crie com seu dispositivo escolhido a partir dos esquemas ativos.
fonte