No entanto, recompilei o framework usando o mesmo Xcode e ainda me dá esse erro.
- SDK básico iOS 11.1 para ambos
- Swift Language Versão Swift 4.0 para ambos
- Não usando Pods / Cartago
Espero que alguém saiba
No entanto, recompilei o framework usando o mesmo Xcode e ainda me dá esse erro.
Espero que alguém saiba
Respostas:
Atualizar:
Para versões de lançamento do Xcode:
Este erro (e erros semelhantes envolvendo Swift 4.1, 4.2, etc.) ocorrerá ao abrir um projeto com Xcode 9.1, 9.2, 9.3, 9.4, 10, etc. que usa estruturas que foram construídas com ferramentas Xcode anteriores.
Para corrigir o problema, atualize e reconstrua seus frameworks usando Carthage ( carthage update --platform iOS
), Cocoapods ( pod update
ou pod install
), ou manualmente, com as novas ferramentas Xcode atualizadas. As ferramentas devem ser atualizadas automaticamente quando você atualiza o Xcode, mas se não, você pode seguir as etapas descritas abaixo na resposta original.
Você também pode precisar limpar seu projeto cmd + shift + k
e possivelmente sua pasta de compilação cmd + option + shift + k
para fazer com que o Xcode não use compilações de framework em cache.
Em alguns casos, você também pode precisar excluir sua pasta de dados derivados (facilmente encontrada em Preferências do Xcode -> Locais -> Pasta de dados derivados ( Obrigado, Stunner )
Para versões beta do Xcode:
Veja a resposta original abaixo e siga as etapas acima.
Resposta Original:
Você provavelmente ainda tem suas ferramentas xcodebuild configuradas para Xcode 9.0, que é compilado com Swift 4.0 e é incompatível com Swift 4.0.1 do Xcode 9.1 beta.
Faça check-in no terminal usando o comando:
xcodebuild -version
Ou simplesmente acesse as preferências do Xcode -> Locais e verifique / altere as ferramentas de linha de comando para Xcode 9.1. Você deve estar pronto então.
Swift Language Version
- Swift 4
los para eles. Então funcionou.
Meu problema era devido a uma estrutura externa que não estava sendo compilada para o Swift 4.0.2. Eu adicionei este arquivo via Carthage , então executando:
carthage update --platform iOS
E, em seguida, limpar o projeto cmd + shift + k
e a pasta de construção cmd + option + shift + k
e excluir a pasta de dados derivados (simplesmente movê-la para a lixeira também funciona) funcionou para mim.
No meu caso, baixei a versão beta do xCode 11 para testar o SwiftUI. Quando executo meu projeto, recebo o erro "Módulo compilado com Swift 5.1 não pode ser importado pelo compilador Swift 5.0.1: ..." .
Para corrigir esse problema. Eu mudei a ferramenta de linha de comando xCode para a nova ferramenta de linha de comentário xCode 11. Depois disso, você pode criar um novo projeto xcode com SwiftUI.
Xcode -> Preferências -> Localização -> Ferramenta de linha de comando XCode
Espero que isso ajude alguém que queira testar novos freamework :)
Instale o Xcode Toolchain da versão específica do Xcode que estava funcionando para você a partir daqui .
Um conjunto de ferramentas Xcode inclui uma cópia do compilador, lldb e outras ferramentas relacionadas necessárias para fornecer uma experiência de desenvolvimento coesa para trabalhar em uma versão específica do Swift.
Abra as Preferências do Xcode, navegue até Componentes> Conjuntos de ferramentas e selecione o conjunto de ferramentas Swift instalado.
Isso permitirá que você compile e execute o aplicativo por enquanto.
Tive esse problema com o Xcode 10 beta, que adiciona o Swift 4.2. Meu problema não estava relacionado a Cartago ou quaisquer dependências externas.
Vá para YourTarget > Build Settings > Swift Language Version
para todos os seus destinos Xcode.
Os meus foram configurados para Swift 4
.
Depois de adicionar uma fase de compilação de cópia de arquivos, comecei a receber o erro
: 0: erro: o módulo compilado com o Swift 4.1.2 não pode ser importado pelo compilador Swift 4.2: /Users/user/Library/Developer/Xcode/DerivedData/MyApp-faskfrihumfcdibjxisjvbfshppp/Build/Intermediates.noindex/MyApp.build/Debug/ MyAppExtension.build/Objects-normal/x86_64/MyClass~partial.swiftmodule
Command MergeSwiftModule falhou com um código de saída diferente de zero
Em seguida, configurei cada alvo Swift Language Version
como Swift 4.2
, o que eliminou o erro.
Não tenho certeza por que o erro estava ocorrendo em primeiro lugar, porém, como ter todos os alvos definidos como Swift 4
deve ser igualmente válido.
Build Settings
No meu caso (Xcode 9.2):
Eu fui para o Xcode Preferences > Locations > Derived Data
Em seguida, apaguei os dados e fiz uma compilação limpa e estava tudo bem.
No meu caso, usei CocoaPods com plugin cocoapods-binary
para pré-construir bibliotecas para binários. Depois de atualizar o Xcode de 10 para 11, o Xcode me dá este erro:
Module compiled with Swift 5.0.1 cannot be imported by the Swift 5.1 compiler
Eu conserto removendo o /Pods
diretório e executando pod install
.
No meu caso, eu recompilei o framework com qualquer versão da qual ele estava reclamando.
Para recompilar, execute pod update
ou atualize o cartago (qualquer um que você estiver usando) e construa o projeto.
Em seguida, procure a estrutura no localizador. Copie e cole no theFramework.framework
seu projeto e certifique-se de “Copiar itens se necessário.” Compile o projeto novamente e ele deve funcionar.