Как исправить "SWIFT_VERSION '3.0' не поддерживается, поддерживаемые версии: 4.0, 4.2, 5.0" ошибка в Xcode 10.2? - PullRequest
60 голосов
/ 26 марта 2019

Я пытаюсь запустить загруженный из приложения, попробуйте открыть в XCode и ошибка:

» Показаны последние сообщения
: -1: SWIFT_VERSION '3.0' не поддерживается, поддерживаемые версии: 4.0, 4.2, 5.0. (в цели 'SimpleWeather') "

Ответы [ 7 ]

43 голосов
/ 27 марта 2019

Выберите цель 'SimpleWeather' в проекте и измените языковую версию Target-> build build -> Язык компилятора Swift -> выберите 5, 4.2 и т. Д.

image of build setting for changing compiler language

34 голосов
/ 12 апреля 2019

Для Xcode 10.1 выберите ваш файл Pods

enter image description here

-> Перейти к настройкам сборки -> Выберите ваш Pod -> Поиск "Swift" -> Перейдите к «Swift Language version» -> Установите нужную языковую версию.

enter image description here

32 голосов
/ 31 марта 2019

Самый простой способ:

1.Нажмите POD в левом столбце.

2. В центральном столбце выберите нужный модуль, затем перейдите к "настройки сборки "в правой верхней панели.

3. Затем найдите" Версия Swift Language "и перейдите на известную версию.

enter image description here enter image description here

5 голосов
/ 04 апреля 2019

Похоже, что в вашем приложении может быть старый код версии Swift, такой как Swift 3.0. В релизе Xcode версии 10.2 была запущена версия Swift 5.0. Xcode 10.2 не поддерживает компилятор для версии Swift 3.0. Вы можете изменить компилятор с Build Settings -> Swift Compiler - Language -> Swift Language Version -> Change it to Swift 5. Если ваш код совместим с этой языковой версией, он запустит код без ошибок.

Однако режим совместимости Swift 3 не будет поддерживаться в Swift 5 компилятор. Swift 4.2 - последняя версия Swift для поддержки Свифт 3 режима. Существуют важные изменения как на поверхности язык и интерьер его реализации в выпусках после Swift 3, который станет основой будущего (и прочного) исходная и бинарная стабильность.

См. Ссылку ниже для получения более подробной информации. https://developer.apple.com/documentation/xcode_release_notes/xcode_10_2_release_notes/swift_5_release_notes_for_xcode_10_2

Если вы действительно хотите запустить приложение с более старым кодом версии Swift, чем вы должны использовать более старую версию Xcode. Вы можете использовать Xcode версии 10.1, это компилятор с поддержкой версии Swift 3.0.

Другой альтернативный способ - перенести старый код Swift на новую версию Swift. Вы можете перенести Swift 3.0 на Swift 4.0 в версии Xcode 10.1.

Руководство по миграции см. В этом https://swift.org/migration-guide-swift4/

4 голосов
/ 14 мая 2019

Я сталкивался с этой проблемой при разработке Cocoapod. У меня в репо был старый файл .swift-version, в котором был указан Swift 3.0.

Запуск pod lib lint --verbose привел меня к этому полезному ответу:

Пожалуйста, удалите файл .swift-version, который сейчас устарел, и используйте только атрибут swift_version в вашем подспецификации.

Я удалил файл и добавил spec.swift_version = '5.0' к своему файлу podspec, чтобы решить проблему.

3 голосов
/ 13 июля 2019

Я следовал инструкциям на этой странице, но ошибка не устранилась.Наконец, вошел в

$ vim MyProject.xcodeproj/project.pbxproj

и обнаружил два случая, когда на

SWIFT_VERSION = 3.0;

все еще ссылались.Я изменил их на 5.0, и ошибка исчезла.Не уверен, почему эти двое все еще были там.

3 голосов
/ 29 апреля 2019

enter image description here выберите модуль, как показано на рисунке, и измените версию на быстром языке это может сэкономить вам один день

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...