Pergunta sobre objective-c, iphone, xcode4 – faltando arquitetura necessária armv7 no arquivo?

21

Eu continuo recebendo este aviso e erros alguém pode ajudar?

<code>    ld: warning: ignoring file /Applications/Xcode.app/Contents/Developer/Platforms       /iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk/System/Library/Frameworks//SystemConfiguration.framework/SystemConfiguration, missing required architecture armv7 in file
    Undefined symbols for architecture armv7:
    "_SCNetworkReachabilityCreateWithAddress", referenced from:
  +[Reachability reachabilityWithAddress:] in Reachability.o
   "_SCNetworkReachabilityCreateWithName", referenced from:
  +[Reachability reachabilityWithHostName:] in Reachability.o
   "_SCNetworkReachabilityUnscheduleFromRunLoop", referenced from:
  -[Reachability stopNotifier] in Reachability.o
   "_SCNetworkReachabilityScheduleWithRunLoop", referenced from:
  -[Reachability startNotifier] in Reachability.o
   "_SCNetworkReachabilitySetCallback", referenced from:
  -[Reachability startNotifier] in Reachability.o
   "_SCNetworkReachabilityGetFlags", referenced from:
  -[Reachability connectionRequired] in Reachability.o
  -[Reachability currentReachabilityStatus] in Reachability.o
   ld: symbol(s) not found for architecture armv7
   clang: error: linker command failed with exit code 1 (use -v to see invocation)
</code>

Meu app funciona bem no simulador Eu não entendo isso, é só quando eu construo para o telefone.

Sua resposta

5   a resposta
1

r seu aplicativo. este erro parece que você perdeu alguns arquivos ..

59

Você precisa vincular-se à estrutura SystemConfiguration. Selecione seu projeto no navegador de projetos do Xcode, selecione o destino do seu aplicativo e selecione a guia Construir Fases. Em Link Binary With Libraries, clique no botão "+" e escolha SystemConfiguration.framework.

Pode haver outras dependências de estrutura que você precisa adicionar da mesma maneira, mas adicionar SystemConfiguration é o que corrigiu os mesmos erros para mim.

ETA: Eu pulei direto para os erros e não vi o aviso de ld no topo da pasta. Se você já está ligando para SystemConfiguration, talvez tente removê-lo e adicioná-lo novamente, e se tudo mais falhar, atualize o Xcode. O lançamento mais recente definitivamente tem a arquitetura certa, então parece que o seu projeto está procurando no lugar errado ou algo está errado com o próprio framework.

você balança mano ...... salvou meu dia ... muito obrigado ... Mahesh Agrawal
Suspiro. É 2016. Por que o Xcode não nos ajuda a contornar problemas como esse, em vez de enviar mensagens de erro vagas ?! Percebi ontem que o site apple.com/feedback permite que você dê feedback sobre todos os hardwares e softwares da Apple, EXCETO o Xcode. Engraçado, que ... De qualquer forma, obrigado - isso corrigiu perfeitamente o meu problema! Mike Gledhill
Trabalhou para mim também. Eu acho que esta é a resposta certa. John Ballinger
Apenas percebi que nunca realmente aceitei isso como a resposta correta. Popeye
0

Adicione o exército em seu projeto (Path => Project tittle(select Xcode blue color reject title) -> Build Setting -> ARCHS) neste ARCHS se você não tiver armv7 do que adicioná-lo ...

Espero que isso ajude você ..

0

Destinos -> Configurações de Construção -> Arquiteturas

Clique em -> other + e adicione armv6 na coluna especificada ...

Limpe e construa

4

truída usando o Carthage e seu destino de implementação foi definido para o iOS 11, mas eu estava construindo para o iOS 9. Portanto, as arquiteturas de 32 bits (armv7, i386) estavam ausentes. Eu mudei o destino de implantação para essa estrutura para o iOS 9 e isso resolveu meu problema.

Obrigado, isso ajudou muito! Mesmo problema para mim. Maail

Perguntas relacionadas