O que você precisa fazer é apenas definir ONLY_ACTIVE_ARCH
como NO
(pelo menos funciona para mim). Abaixo está uma captura de tela:
EDITAR:
Tanto quanto eu sei ( por favor, indique se há algo errado, obrigado ), se você definir ONLY_ACTIVE_ARCH
como YES
, significa que o Xcode construirá apenas para a arquitetura ativa (que se refere ao dispositivo que está ativo no Xcode atualmente). Parece que a configuração padrão do Xcode está definida como Debug YES
, para que ele não crie binários para outras arquiteturas quando você desejar criar apenas um dispositivo especial conectado ao seu Mac.
O motivo da falha na criação pode ser que, o projeto não suporta a arquitetura do dispositivo que você conectou. Portanto, a melhor solução é adicionar a arquitetura certa para o seu dispositivo. Abaixo está uma lista de arquiteturas e os dispositivos que suportam:
- ARMv8 / ARM64:
iPhone 6
, iPhone 5s
, iPad Air
,Retina iPad Mini
- ARMv7s:
iPhone 5
, iPhone 5c
,iPad 4
- ARMv7:
iPhone 3GS
, iPhone 4
, iPhone 4S
, iPod 3G/4G/5G
, iPad
, iPad 2
, iPad 3
,iPad Mini
- ARMv6:
iPhone
, iPhone 3G
,iPod 1G/2G
Então, por que "definir o ONLY_ACTIVE_ARCH
como NO
" funciona? Como o dispositivo ainda pode executar o binário que foi criado para todas as arquiteturas que você adicionou (passe na compilação), mas perderá algum desempenho. Esta é apenas uma solução rápida, mas não é a melhor.
Nota : Quanto mais arquiteturas você adicionar, maior será o binário. Portanto, é bom escolher as arquiteturas certas para o seu projeto. ;)