Oi ! Já faz dois dias que estou tentando construir para iOS e fico preso com um erro estranho:
clang: error: no such file or directory: 'iOS'
clang: error: no such file or directory: 'Facebook/Frameworks/FacebookSDK/Plugins/iOS/FBSDKCoreKit.framework/FBSDKCoreKit'
Command Ld failed with a nonzero exit code
Eu não tenho nenhum arquivo ausente, tudo está presente e eu realmente não entendo, tudo funciona bem no 7.15.0, o que poderia ter mudado desde então?
desde já, obrigado
Oi @daCelky , você pode verificar se o FBSDKCoreKit existe no diretório do framework em seu projeto xcode? Seria melhor se você pudesse anexar a estrutura da sua estrutura do FacebookSDK no diretório do framework.
Mesma questão aqui. Eu estava usando 7.15.1 e atualizei para 7.16.
Eu tenho o arquivo. abaixo está a captura de tela da minha estrutura de diretórios
Sim, tudo existe no meu diretório de estrutura.
Mesmo problema aqui com 7.16 e Xcode 10.2.1.
Estou enfrentando o mesmo problema com o facebook sdk versão 7.16 e o Xcode 10.2.1.
clang: erro: nenhum arquivo ou diretório: 'Builds/0.0.1/Frameworks/FacebookSDK/Plugins/iOS/FBSDKCoreKit.framework/FBSDKCoreKit'
SDK v7.16.0、Unity 2018.3.0f2、Xcode 10.1(10B61)
Crie o projeto Xcode no Windows primeiro e depois transfira para o Mac
Encontre um caminho nas configurações do projeto Xcode, "Build Settings -> Other Linker Flags", tem uma linha como "D:/XXXFrameworks/FacebookSDK/Plugins/iOS/FBSDKCoreKit.framework/FBSDKCoreKit"
Duas questões:
1.É um caminho do Windows, não no Mac
2. Com o Unity2018, os caminhos dos frameworks são simples, FBSDKCoreKit.framework no diretório "Frameworks", não em "Frameworks/FacebookSDK/Plugins/iOS/"
CORREÇÃO: Altere o caminho para "$(SRCROOT)/Frameworks/FBSDKCoreKit.framework/FBSDKCoreKit"
@daCelky sua pasta de compilação contém espaços?
@Snowblaze , tentei sem nenhum espaço e foi compilado com sucesso, como pode ser um problema, já que todos os outros SDKs estão sendo compilados sem nenhum problema?
Finalmente eu usei 7.15. Espero que o fb conserte logo.
@daCelky tente usar um comando referente a qualquer pasta com espaço, mas sem as aspas, você provavelmente receberá o mesmo erro. Vou tentar encontrar a causa e fazer um pull request em um ou dois dias, para que possamos corrigi-lo na próxima versão.
Acho que pode ter a ver com a versão iOS. Recebo esse problema no meu iPad executando 12.3.1. Não no meu iPhone rodando 12.2.
To com o mesmo problema... :/
Tente construir novamente.
@jzhudev resolveu o problema de construção, mas o "-force_load" é necessário para este problema: https://github.com/facebook/facebook-sdk-for-unity/issues/208
edit: remover espaços resolveu meu problema, como mencionado acima
@inxidious , na verdade, não tive esse problema de diretório, mas o problema # 261. Estou usando o XCode 10.2.1 e o Unity 2018.2.2.
Olá a todos, atualmente adicionamos "-all_load" para evitar o problema do caminho do SDK do FB e #208 . No entanto, se você quiser usar "-force_load" e tiver o problema "nenhum arquivo ou diretório", altere o caminho do SDK do FB para o correto.
@KylinChang após atualizar para 7.16.1, não consegui construir meu projeto devido a um erro.
ld: aviso: função arm64 não alinhada com 4 bytes: _unwind_tester de /Users/xxx/Projects/XCodeProjects/zzz/Libraries/libiPhone-lib.a(unwind_test_arm64.o)
Símbolos indefinidos para a arquitetura arm64:
"_OBJC_CLASS_$_FIRDynamicLinks", referenciado de:
objc-class-ref em libFirebaseCppApp.a(invites_receiver_internal_ios_aa7b75b2efc3269e88f1077e55250e5a.o)
ld: símbolo(s) não encontrado(s) para arquitetura arm64
clang: erro: o comando do vinculador falhou com o código de saída 1 (use -v para ver a invocação)
Mas, se eu mudar -all_load para -force_load, funciona bem.
Eu sei que isso é um erro do Firebase, mas tudo funciona bem no 7.16.0, e ter que editar o linker toda vez que eu construo não é conveniente. você tem alguma ideia?
@inxidious sua solução funcionou para mim. Obrigado.
@chkuang-g Para sua informação
@KylinChang alguma chance de você alterar seu SDK para não fazer --all_load
? Isso pode contribuir para o inchaço do SDK, pois nada será removido. No SDK do Firebase (sou engenheiro da equipe), contamos com a remoção inoperante no iOS para vincular apenas os componentes referenciados diretamente pelo código do aplicativo ou vinculados explicitamente usando ---force_load archive
, talvez --force_load possa ser usado para Componentes do Facebook em vez disso?
Ei @stewartmiles , na última v7.17.2, já removemos o sinalizador e usamos cocoapods para adicionar o FBiOSSDK. Você pode mudar para usar a v7.17.2?
Se você ainda quiser usar a v7.16.0, pode usar --force_load {PATH_OF_FBSDKCoreKit}.
@KylinChang isso é ótimo, obrigado pelo aviso. Não usamos o SDK do Facebook diretamente. Em vez disso, os desenvolvedores o incluem quando desejam se autenticar no Facebook e vincular essa identidade a um token de autenticação do Firebase. Fico feliz que isso tenha mudado para o uso do Cocoapods, espero que você esteja usando o iOS Resolver;)
Comentários muito úteis
@KylinChang após atualizar para 7.16.1, não consegui construir meu projeto devido a um erro.
ld: aviso: função arm64 não alinhada com 4 bytes: _unwind_tester de /Users/xxx/Projects/XCodeProjects/zzz/Libraries/libiPhone-lib.a(unwind_test_arm64.o)
Símbolos indefinidos para a arquitetura arm64:
"_OBJC_CLASS_$_FIRDynamicLinks", referenciado de:
objc-class-ref em libFirebaseCppApp.a(invites_receiver_internal_ios_aa7b75b2efc3269e88f1077e55250e5a.o)
ld: símbolo(s) não encontrado(s) para arquitetura arm64
clang: erro: o comando do vinculador falhou com o código de saída 1 (use -v para ver a invocação)
Mas, se eu mudar -all_load para -force_load, funciona bem.
Eu sei que isso é um erro do Firebase, mas tudo funciona bem no 7.16.0, e ter que editar o linker toda vez que eu construo não é conveniente. você tem alguma ideia?