Depois de migrar minha estrutura para o Xcode 10 beta (10L176w), comecei a receber avisos como:
Mapeando a arquitetura arm64 para x86_64. Certifique-se de que as configurações de build das arquiteturas e arquiteturas válidas deste destino estejam configuradas corretamente para a plataforma do simulador iOS.
... e:
Mapeando a arquitetura armv7 para i386. Certifique-se de que as configurações de construção das arquiteturas e arquiteturas válidas deste destino estejam configuradas corretamente para a plataforma do simulador iOS.
Apesar desses avisos, a construção e os testes de unidade passam todos OK. Estou usando o Swift 4.2.
Ainda assim, sobre o que são esses avisos?
ARCHS = $(ARCHS_STANDARD_64_BIT)
eVALID_ARCHS = $(inherited) x86_64 i386
Respostas:
Vá para Build Settings e faça como mostrado abaixo
fonte
There are no valid architectures to compile for because the VALID_ARCHS build setting is an empty list
Consegui silenciar esses avisos alterando minha configuração de Arquiteturas válidas para
$(ARCHS_STANDARD)
que corresponda à minha configuração de Arquiteturas também.Estranhamente, isso era exibido como
armv7 arm64
(em comparação com a configuração padrão dearmv7 armv7s arm64
), mas defini-lo com esse valor manualmente ainda causava os avisos. Não tenho certeza de qual é o significado disso, mas ainda não notei nenhum problema em meus testes.fonte
Você provavelmente tem a configuração de construção VALID_ARCHS ("Valid Architectures") substituída, tanto para o destino quanto para seu projeto. Esta é uma configuração de construção que deve obter seu valor automaticamente com base no destino de execução para o qual você está construindo. Quando você descobrir de onde está vindo essa substituição (a configuração de construção será exibida em negrito quando substituída), selecione-a e pressione a tecla delete para restaurá-la ao valor padrão.
fonte
VALID_ARCHS
. Ele contémarm64
para depuração e liberação.VALID_ARCHS
para defini-los como padrão e, em seguida, limpar e fechar / abrir o Xcode novamente para que funcionasse totalmente para mimPara o TARGET que relata avisos, altere a configuração de "Arquitetura válida" para:
$(VALID_ARCHS) x86_64
fonte
Semelhante a outras respostas, consegui remover o aviso alterando
$(VALID_ARCHS)
(Arquiteturas válidas) para$(ARCHS_STANDARD)
. A partir daí, limpei todos os dados derivados e reiniciei o Xcode 10.0. Isso fez o aviso desaparecer completamente. Excluir tudo de arquiteturas válidas apenas fez um aviso diferente aparecer ("Nenhuma arquitetura válida encontrada").fonte
A solução é mais simples: em arquiteturas válidas, basta substituir arm64 por x86_64 .
Tive um problema semelhante e os três seguintes avisos em meu projeto:
Minhas arquiteturas válidas originalmente eram
Substituindo:
(conforme mencionado nos Avisos) foi minha solução. O resultado na configuração da Arquitetura Válida foi:
Após as substituições, meus três avisos acima desapareceram.
Informações mais profundas sobre as arquiteturas podem ser encontradas aqui: https://docs.elementscompiler.com/Platforms/Cocoa/CpuArchitectures/
Acho que a formulação desse aviso no Xcode é um pouco confusa.
fonte
Se você estiver enfrentando problemas no Flutter:
Exclua o Podfile, Podfile.lock, pasta Pods, Runner.xcworkspace, Flutter.framework.
Corra
flutter clean
.flutter build ios
.fonte
Eu estava vendo este aviso quando tentei compilar o código para iOS e Mac OS. Consegui contornar isso fazendo primeiro o que Hassan Taleb sugeriu em sua resposta: limpe as arquiteturas para que apenas as arquiteturas válidas do iPhone estejam lá. E, finalmente, para continuar sendo capaz de construir para Mac OS, passe o mouse sobre as arquiteturas válidas para que um botão de adição apareça. Clique nele e então você pode adicionar configurações separadas para diferentes plataformas conforme necessário, incluindo diferentes arquiteturas de CPU. Para macOS SDK, posso definir minhas arquiteturas válidas para apenas x86_64, se quiser.
fonte
Descobri que a maneira mais fácil de resolver isso era abrir o projeto no meu editor de texto, localizar e excluir todas as
VALID_ARCHS
linhas.fonte
Eu também estou enfrentando o mesmo problema. Para resolução, acabei de alterar o sistema de compilação de Standard para Legacy e isso resolveu o problema.
fonte
Eu vi o mesmo aviso ao construir minha estrutura. Depois de um tempo, notei que esses valores de arquitetura válidos variam dependendo do tipo de dispositivos, independentemente dos valores nas configurações de construção.
Real devices-> arm64 Simulator devices ->x86-64
fonte
se suas [configurações de construção] for armv7 armv7s arm64, exclua armv7s. o aviso será cancelado.
fonte