ios - page - swift facebook login button




Xcode 9: Módulo compilado com o Swift 3.1 não pode ser importado no Swift 4.0 (10)

Eu encontrei o mesmo problema no Xcode 9 Beta 3, que apontava para 'Alamofire' e tentei algumas soluções diferentes, a mais fácil que eu encontrei é

1. CMD+SHIFT+K to clean the build
2. Restart Xcode 9 <-- make sure you do this step, that's critical. `

Depois de atualizar para o Xcode 9, tentei criar um dos meus projetos.

Eu uso o pod do FacebookLogin . Eu tenho um erro de compilador no FacebookLogin / LoginButton.swift

@testable import FacebookCoreModule compiled with Swift 3.1 cannot be imported in Swift 4.0

Nas configurações de compilação do meu alvo, a versão do idioma Swift é definida como Swift 3.2 .

Eu acho que preciso esperar pelo Facebook para atualizar seu pod? Ou alguma outra sugestão?

Obrigado !


Eu limpei o projeto no Xcode 9 e, em seguida, executar o aplicativo, ele funciona.


Fazer uma "pasta de compilação limpa" e reiniciar o Xcode 9 eliminou o erro para mim. Além disso, o erro não impediu que o aplicativo fosse executado no meu dispositivo ou no simulador.


Funciona para mim.

1. Limpe seu projeto no Xcode 8

2. Crie ou execute seu projeto no Xcode 9



Pasta de compilação limpa

Cmd + option + shift + K

Se você usa do Pod:

  1. Em Podfile comentário FacebookLogin pod
  2. instalação de pod

  3. No Podfile descomente o pod de FacebookLogin
  4. instalação de pod

  5. Execute novamente seu projeto

Talvez você possa limpar o alvo antes de construí-lo. Isso funciona bem para mim.


goto xcode Diretório DerivedData, em seguida, remova todo o arquivo dentro dele e recompile seu projeto. funciona para mim.

e o diretório padrão DerivedData é: ~ / Library / Developer / Xcode / DerivedData.


Atualizar:

A solução também testou e trabalhou no Swift 4.2 e no Xcode 10.

Original:

Eu gostaria de acrescentar que se você estiver usando o Cartago para compilar um módulo no Swift 3.2, você deve ir para um terminal e executar:

sudo xcode-select --switch /Applications/Xcode-beta.app/Contents/Developer

Para usar as ferramentas de linha de comando do Xcode 9, você pode executar:

carthage update NameOfTheLibrary --platform iOS --no-use-binaries

Isso irá compilar a biblioteca com suas ferramentas de linha de comando atuais, pode ser um pouco lento, mas agora o projeto deve ser compilado.

Nota

Para reverter e usar suas ferramentas de linha de comando Xcode estáveis, basta executar:

sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer