Aviso de caminho de pesquisa da biblioteca Xcode 7

117

Este é o aviso que está mostrando:

diretório não encontrado para a opção '-F / Applications / Xcode-beta.app / Contents / Developer / Platforms / iPhoneOS.platform / Developer / SDKs / iPhoneOS9.0.sdk / Developer / Library / Frameworks' "

Alguém pode ajudar a resolver o aviso?

Shaikh Arwaz
fonte
1
Esta resposta corrigiu este erro para mim: stackoverflow.com/questions/26665196/…
fpr0001
@arwaz shaikh Não se esqueça de marcar minha resposta como a resposta certa (se você acha que responde corretamente à sua pergunta), isso pode ajudar as pessoas a encontrá-la mais rapidamente através do Google ou Stack Overflow.
King-Wizard

Respostas:

225

Foi assim que resolvi esse problema

Após a migração do meu projeto Xcode, do Xcode 6.4 para o Xcode 7, recebo a mensagem de aviso abaixo (após a compilação) para o destino de teste :

directory not found for option '-F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.0.sdk/Developer/Library/Frameworks'

Na verdade eu encontrei algo ao comparar um novo projeto com um mais antigo ...

No projeto antigo, o aviso estava sendo produzido apenas pelo alvo de teste dos meus projetos. Em 'Caminhos de pesquisa' , descobri que estava incluindo dois itens em 'Caminhos de pesquisa de estrutura' :

$(SDKROOT)/Developer/Library/Frameworks
$(inherited)

O novo projeto manteve o 'Framework Search Paths' vazio.

Excluir essas entradas em meu projeto mais antigo removeu o aviso.

Notas:

Não comparei exaustivamente as configurações, portanto, pode haver diferenças adicionais.

Além disso, caso um dia você reencontre uma das duas mensagens de aviso a seguir , lembre-se de que você terá que fazer isso: se o aviso for para a opção '-L/...'que é Library Search Paths, exclua o material lá. No entanto, se o aviso for para a opção '-F/...'que é Framework Search Paths, exclua o material lá.

O rei da bruxaria
fonte
2
O acima está correto. No entanto, se você usar CocoaPods, descobri que também é possível que a entrada resida nos arquivos * .xcconfig que cria. A solução é idêntica: remova-o, neste caso, da linha FRAMEWORK_SEARCH_PATHS em seu (s) arquivo (s) * .xcconfig.
ecotax
2
Eu tenho exatamente o mesmo problema (-F / ...) e já excluí o material no Framework Search Paths, mas o aviso ainda está aparecendo.
Gabe12
4
Limpe e reconstrua o projeto Xcode e a mensagem de aviso deve desaparecer.
King-Wizard de
1
Eu não estava usando o destino de teste e acabei tendo que excluí-lo para que fosse construído.
theLastNightTrain
King-Wizard tem a resposta correta, no entanto, mais especificamente, você deve ir em 'Build Settings'> 'Search Paths'> 'Framework Search Paths'
pyRabbit
19

Com base na mensagem de erro, parece que a primeira coisa a fazer é endireitar o caminho do alvo. Você pode editar os caminhos conforme mostrado nas respostas a esta pergunta StackOverflow . Certifique-se de verificar o caminho para todos os seus alvos se você não tiver certeza de qual está gerando o erro --- isso me confundiu um pouco depois de atualizar um projeto para o Xcode 7 beta; havia um caminho em FRAMEWORK_SEARCH_PATHS para o destino de teste que precisava ser excluído. O caminho que estava lá era exatamente o caminho que você relatou ter recebido o aviso; remover o caminho o eliminou.

Dave Ruske
fonte
16

O rei da bruxaria é essencialmente correto, para elaborar um pouco mais -

O Xcode 7 está procurando sua estrutura de teste XCtest.frameworkem um caminho que não existe. O caminho definido $(SDKROOT)/Developer/Library/Frameworksem 'Caminhos de pesquisa -> Caminhos de pesquisa da estrutura' procura a estrutura na /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/Developer/Library/Frameworksqual não é um caminho válido. Você pode excluir a linha $(SDKROOT)/Developer/Library/Frameworkspara remover o erro e ainda ser capaz de executar testes.

O caminho correto para 'XCTest.framework' é /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworkspara aqueles que estão curiosos.

Espero que ajude.

Eric Murphey
fonte
1

Eu tive o mesmo erro com o Xcode 9.2 e aqui estão minhas soluções sem fazer manualmente:

  1. Clique no seu projeto no Project Navigator
  2. Vá para os destinos e clique em MyProjectNameTest
  3. Clique em Build Settings e pesquise “ Framework Search Paths
  4. Em Framework Search Paths , exclua os caminhos e mantenha o “$ (herdado)”.

insira a descrição da imagem aqui

Para aqueles de vocês que têm o seguinte erro:

diretório não encontrado para a opção '-L /…

isso significa que é um erro da biblioteca, então você pode tentar seguir as etapas abaixo:

  1. Clique no seu projeto (destinos)
  2. Clique em Build Settings, Search for "Library Search Paths"
  3. Em Caminhos de pesquisa da biblioteca, exclua os caminhos e mantenha o “$ (herdado)”
Jorge Casariego
fonte