Enviei um app ontem para revisão, sem problemas. Então percebi que tinha uma pequena correção a fazer (alterar o nível máximo de zoom de um mapa de 19 para 18, nada mais), então removi o binário do iTunes Connect e tentei reenviar.
Agora estou tendo este aviso:
Não entendo por que, pois minhas arquiteturas são:
- arquiteturas: armv7
- arquiteturas válidas: armv6, armv7, armv7s, arm64
O aplicativo funciona bem no simulador. Se eu tentar usar as arquiteturas padrão (armv7, arm64) conforme recomendado no aviso, o aplicativo não será compilado e eu obtenho:
- Símbolos indefinidos para arquitetura x86_64
- ld: símbolo (s) não encontrado (s) para arquitetura x86_64
Estou usando a lib route-me e defino as mesmas configurações de arquitetura.
Respostas:
Use "
Standard architectures
" assim:como isso:
fonte
armv7 and arm64
em Architechtures. Ainda assim, o aviso de suporte de 64 bits ausente ocorre durante a validação do aplicativo para envio.Depois de confirmar as arquiteturas corretas, certifique-se de que seu dispositivo NÃO esteja conectado ao seu computador ao ARQUIVAR a construção final para enviar para a App Store.
O motivo desse aviso aparecer é porque o DEVICE que você conectou provavelmente não é compatível com arm64.
fonte
Build Active Architecture Only
paraNo
. Isso forçará o xcode a construir o binário de 64 bits, independentemente de qual dispositivo está conectado.Build Active Architecture
está definido comoNo
. Definir esquema de arquivoComo Tony escreveu, é importante ter em ambas as linhas essas configurações. Uma vez que meu (e obviamente seu) projeto foi criado ainda antes de arm64 ser adicionado ao padrão, ele não é refletido em "Arquiteturas Válidas", mesmo que seja mostrado como Padrão.
O que eu fiz:
Depois de limpar / construir, recebo até mesmo alguns avisos sobre a conversão inadequada de float em CGFloat, etc., portanto, as configurações obviamente aplicadas.
O aviso de validação também desapareceu!
fonte
Desconecte seu dispositivo físico do Mac. No XCode na lista de dispositivos, escolha Dispositivo iOS e crie o arquivo novamente. Funcionou para mim
fonte
Hoje resolvo esse problema com as seguintes etapas:
Configurações de construção:
Arquiteturas: arquiteturas padrão (arm7, arm64) - $ (ARCH_STANDARD)
Arquiteturas válidas: armv7 armv7s arm64
fonte
Basta criar um novo projeto usando a versão mais recente do xCode e encontrar as configurações de Build. O novo projeto criado usando a versão mais recente tem suporte 64 por padrão.
fonte
Ok, isso foi uma loucura. Tentei todas as respostas. Mas funcionou apenas quando coloquei
arm64
antesarmv7
earmv7s
nas arquiteturas válidas.PS:
xcode version : 7.2
fonte
Resolvi o problema mudando,
Arquiteturas: arm7, arm64
Arquitetura válida: arm7, arm64
Construir apenas arquitetura ativa: Sim
fonte
Enviei sucesso por config como a imagem:
(Arquivado com dispositivo real)
fonte
Livre-se de todos os avisos. Repassou tudo indefinidamente. Encontrou a resposta de uma palavra aqui acima.
"Construir apenas arquitetura ativa - NÃO (especialmente ... se o dispositivo conectado não for compatível com arm64)"
Meu iPad não é de 64 bits. Coloque NO para Build Active Architecture e meu envio funcionou!
fonte
Altere seu destino de desenvolvimento iOS para pelo menos 5.1.1 ou, como alternativa, exclua a configuração de arquiteturas padrão e reaplique-a. Você pode ter visto um aviso de que arm64 não é compatível com seu destino de construção. Na página de visão geral, verifique as configurações de build e destino de "destino de implantação". No meu caso, a meta era 6,0, mas o projeto era 5,0.
Além disso, verifique "Arquiteturas válidas" em seu destino e em seu projeto. Eu tinha as configurações certas no projeto, mas não no destino. Depois disso, funcionou para mim.
Alterne entre projeto / destino na página de visão geral no canto superior esquerdo da caixa.
fonte
Marque a opção Construir Arquitetura Ativa. Defina como NÃO. Funciona para mim.
fonte