Как исправить ошибку «SWIFT_VERSION '3.0' не поддерживается, поддерживаемые версии: 4.0, 4.2, 5.0» в Xcode 10.2?


118

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

«Отображение последних сообщений
: -1: SWIFT_VERSION '3.0' не поддерживается, поддерживаемые версии: 4.0, 4.2, 5.0. (В целевой 'SimpleWeather')»

Скриншот добавлен


Обновите материал. 3.0 довольно стар с точки зрения скорости эволюции Swift
— vadian

2
Я использую Xcode 10.2 и пытаюсь открыть старую версию 3.0, но не могу запустить программу, потому что у меня есть ошибки.
— влад Уваров

Откройте и обновите проект в Xcode 10.1. На диске может быть несколько разных версий Xcode.
— vadian

1
обновленная версия Xcode; (
— влад Уваров

7
О, МОЙ БОГ!!! Я потратил три часа на загрузку XCode 10.2 и обнаружил, что больше не могу создавать свои приложения. У меня нет бэкапа XCode 10.1! Это просто безумие, за которое Apple должна мне заплатить.
— vojta 09

Ответы:


99

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

изображение настройки сборки для изменения языка компилятора


76

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

1.Щелкните POD в левом столбце.

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

3. Затем выполните поиск «Swift Language Version» и перейдите на известную версию.

введите описание изображения здесь введите описание изображения здесь


1
Спасибо. Это ответ, который я ищу.
— Vinu Jacob

Скриншот в помощь ищу.
— Намо

53

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

введите описание изображения здесь

-> Перейдите в Настройки сборки -> Выберите свой модуль -> Найдите «Swift» -> Перейдите к «Языковой версии Swift» -> Установите желаемую языковую версию.

введите описание изображения здесь


9
Это решение не работает, если есть версия Swift 3.xи у вас более поздняя версия Xcode, чем10.2
— Хуан П. Ортис

12

Я выполнил инструкции на этой странице, и ошибка не исчезла. Наконец, вошел в

$ vim MyProject.xcodeproj/project.pbxproj

и нашел два случая, когда

SWIFT_VERSION = 3.0;

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


1
Я использовал руководство Apple для перехода со Swift 3.0 на 5.0, однако помощник не предлагал никаких предложений. Как только я изменил эти две строки в ответе выше, мне сразу же было предложено выполнить миграцию. Спасибо, что поделились этим решением @Forrest !
— Карим Джеруди

Потрясающие! Рад, что это помогло тебе @KareemJeiroudi
— Форрест

2
Спасибо, мне это очень помогло. Я прибегая к помощи полчаса и найти это решение ...
— Dharmik

2
Это сработало и для меня. Выполнение класса на нем, и пример проекта был в неправильной версии.
— sixstring

11
  1. Выбрать проект
  2. Выберите вкладку "Параметры сборки"
  3. Выберите вариант языка компилятора Swift

введите описание изображения здесь


10

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

введите описание изображения здесь


7

Похоже, что в вашем случае приложение может иметь старый код версии 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, поддерживающий режим 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/.


5

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

Бег pod lib lint --verboseпривел меня к полезному ответу:

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

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


5
  1. Проверь это:
    1. Нажмите на название проекта
    2. Нажмите цель
    3. Нажмите на настройку сборки
    4. В языковой версии Swift: выберите Swift 4

введите описание изображения здесь

введите описание изображения здесь


5

Я открыл файл MyProject.xcodeproj (используя редактор VSCode)

и я нашел несколько строк, где

SWIFT_VERSION = 3.0;

(примерно в строке 400, где говорится /* Begin XCBuildConfiguration section */)

Измените на SWIFT_VERSION = 5.0 или другие. После этого я смог собрать и запустить проект.


3

Найдите Swift и дважды щелкните, а затем измените каждую версию, вызывающую нарушение.

введите описание изображения здесь


1

Если у вас несколько файлов модулей, как у меня, и у вас возникли проблемы с поиском модуля с помощью SWIFT_Version = 3.0, попробуйте панель поиска


0

1) изменить версию пода в подфайле (поскольку библиотека написала старую быструю версию)

2) "установка модуля" на терминале


0

Я новичок в разработке iOS. После того, как я выполнил все приведенные выше ответы, у меня все еще была та же ошибка. Я использовал Xcode 11, загрузил образец « FoodTracker » с веб-сайта Apple Developer и получил ту же ошибку после попытки его создания. Я обнаружил, что в проекте есть несколько настроек, относящихся к языковой версии Swift после VIM содержимого файла проекта. Итак, я решил эту проблему, сначала установив «Проект> FoodTracker», а также «ЦЕЛИ> FoodTracker» и «ЦЕЛИ> FoodTrackerTests». для языковой версии Swift на 5.0. Надеюсь, поможет.

Установка языковой версии Swift для проекта и ВСЕХ целей


-1
  1. откройте MyProject.xcodeproj / project.pbxproj в редакторе (например, Sublime)

пример Calculator.xcodeproj

  1. Переименовать все в SWIFT_VERSION = 3.0; Переименовать все в SWIFT_VERSION = 5.0;

введите описание изображения здесь

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.