Como consertar “SWIFT_VERSION '3.0' não é compatível, as versões compatíveis são: 4.0, 4.2, 5.0” erro no Xcode 10.2?


118

Estou tentando executar o download do aplicativo, tente abrir no Xcode e tenho um erro:

"Exibindo mensagens recentes
: -1: SWIFT_VERSION '3.0' não é compatível, as versões compatíveis são: 4.0, 4.2, 5.0. (No destino 'SimpleWeather')"

Captura de tela adicionada


Atualize o material. 3.0 é muito antigo em termos de velocidade de evolução Swift
vadian

2
Estou usando o Xcode 10.2 e tento abrir o 3.0 antigo, mas não consigo executar o programa porque tenho erros.
vlad uvarov

Abra e atualize o projeto no Xcode 10.1. É possível ter várias versões diferentes do Xcode no disco.
vadian

1
versão atualizada do Xcode; (
vlad uvarov

7
AMD!!! Levei três horas do meu tempo para baixar o XCode 10.2 e descobri que não consigo mais construir meus aplicativos. Não tenho backup do XCode 10.1! Isso é loucura pela qual a Apple deveria me pagar.
vojta de

Respostas:


99

Selecione o destino 'SimpleWeather' no projeto e altere a versão do idioma Destino-> configuração de compilação -> idioma do compilador Swift -> selecione 5, 4.2 etc.

imagem da configuração de construção para alterar a linguagem do compilador


76

******** Caminho mais fácil: **********

1.Clique em PODs na coluna esquerda.

2. Na coluna central, selecione o pod desejado e navegue até "configurações de construção" no painel superior direito.

3. Em seguida, pesquise "Versão do idioma Swift" e mude para uma versão conhecida.

insira a descrição da imagem aqui insira a descrição da imagem aqui


1
Obrigado. Esta é a resposta que procuro.
Vinu Jacob

A captura de tela é de ajuda para procurar.
Namo

53

Para Xcode 10.1, selecione seu arquivo de pods

insira a descrição da imagem aqui

-> Vá para Configurações de construção -> Escolha seu pod -> Pesquisar "Swift" -> Navegue até "Versão do idioma Swift" -> Definir a versão do idioma desejado.

insira a descrição da imagem aqui


9
Esta solução não funciona se a versão Swift for 3.xe você tiver uma versão do Xcode superior a10.2
Juan P. Ortiz

12

Segui as instruções desta página e o erro não foi resolvido. Finalmente, entrou em

$ vim MyProject.xcodeproj/project.pbxproj

e encontrei duas instâncias onde

SWIFT_VERSION = 3.0;

ainda estava sendo referenciado. Mudei para 5.0 e o erro desapareceu. Não sei por que aqueles dois ainda estavam lá.


1
Usei o guia da Apple para migração do Swift 3.0 para 5.0, porém o assistente não mostrou nenhuma sugestão. Assim que modifiquei essas duas linhas na resposta acima, isso me levou a migrar imediatamente. Obrigado por compartilhar esta solução @Forrest !
Kareem Jeiroudi

Impressionante! Que bom que ajudou você @KareemJeiroudi
Forrest

2
Obrigado, me ajudou muito. Eu estava pesquisando meia hora no Google e descobri esta solução ...
Dharmik

2
Isso funcionou para mim também. Fazer uma aula sobre ele e o projeto de exemplo estava na versão errada.
sixstring de

11
  1. Selecione o projeto
  2. Selecione Build SettingTab
  3. Selecione a opção de idioma do Compilador Swift

insira a descrição da imagem aqui


10

insira a descrição da imagem aquiselecione pod como por imagem e mude a versão de idioma rápido isso pode te salvar um dia

insira a descrição da imagem aqui


7

Parece que o aplicativo pode ter um código de versão Swift antigo como Swift 3.0 no seu caso. No lançamento do Xcode versão 10.2 lançou a versão Swift 5.0. O Xcode 10.2 não oferece suporte ao compilador para a versão Swift 3.0. Você pode alterar o compilador de Build Settings -> Swift Compiler - Language -> Swift Language Version -> Change it to Swift 5. Se o seu código for compatível com essa versão do idioma, ele executará o código sem erros.

No entanto, o modo de compatibilidade Swift 3 não será suportado no compilador Swift 5. O Swift 4.2 é a última versão do Swift para suportar o modo Swift 3. Há mudanças importantes na superfície da linguagem e no interior de sua implementação nos lançamentos seguintes ao Swift 3, que serão a base da fonte futura (e duradoura) e da estabilidade binária.

Consulte o link abaixo para obter mais detalhes. https://developer.apple.com/documentation/xcode_release_notes/xcode_10_2_release_notes/swift_5_release_notes_for_xcode_10_2

Se você realmente deseja executar o aplicativo que possui um código de versão Swift mais antigo do que o necessário, use uma versão anterior do Xcode. Você pode usar o Xcode versão 10.1, seu compilador tem suporte para a versão Swift 3.0.

Outra forma alternativa é migrar seu código Swift antigo para a nova versão da versão Swift. Você pode migrar seu Swift 3.0 para Swift 4.0 na versão Xcode 10.1.

Para obter o guia de migração, consulte este https://swift.org/migration-guide-swift4/


5

Eu me deparei com esse problema ao desenvolver um Cocoapod. Eu tinha um .swift-versionarquivo antigo em meu repositório que especificava o Swift 3.0.

Correr pod lib lint --verboseme levou a esta resposta útil:

Remova o .swift-versionarquivo que agora está obsoleto e use apenas o swift_versionatributo dentro do seu podspec.

spec.swift_version = '5.0'Excluí o arquivo e adicionei ao meu arquivo podspec para corrigir o problema.


4
  1. Veja isso:
    1. Clique no nome do projeto
    2. Clique no alvo
    3. Clique na configuração Build
    4. Na versão de idioma Swift: Escolha Swift 4

insira a descrição da imagem aqui

insira a descrição da imagem aqui


4

Eu abri o arquivo MyProject.xcodeproj (usando o editor VSCode)

e encontrei algumas linhas onde

SWIFT_VERSION = 3.0;

(mais ou menos na linha 400, onde diz /* Begin XCBuildConfiguration section */)

Modifique para SWIFT_VERSION = 5.0 ou outros. Depois disso, pude construir e executar o projeto.


3

Procure por Swift e clique duas vezes, então mude cada versão ofensiva.

insira a descrição da imagem aqui


1

Se você vários arquivos de pod como eu fiz e está tendo problemas para encontrar o pod com SWIFT_Version = 3.0, tente a barra de pesquisa


0

1) alterar a versão do pod no podfile (porque a biblioteca gravou uma versão antiga do swift)

2) "instalação de pod" no terminal


0

Eu sou novo no desenvolvimento de iOS. Depois de seguir todas as respostas acima, ainda recebo o mesmo erro. Eu estava usando o Xcode 11 e baixei o exemplo " FoodTracker " do site da Apple Developer e recebi o mesmo erro depois de tentar construí-lo. Descobri que o projeto tem várias configurações referentes à versão do idioma Swift após VIM o conteúdo do arquivo do projeto. Então, resolvi isso definindo primeiro o "Projeto> FoodTracker", e também "TARGETS> FoodTracker" e "TARGETS> FoodTrackerTests" a versão da linguagem Swift para 5.0. Espero que ajude.

Configurando a versão do idioma Swift no projeto e TODOS os alvos


-1
  1. abra MyProject.xcodeproj / project.pbxproj no editor (eq Sublime)

exemplo Calculator.xcodeproj

  1. Renomeie todos SWIFT_VERSION = 3.0; Renomear todos SWIFT_VERSION = 5.0;

insira a descrição da imagem aqui

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.