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

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

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

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


person vlad uvarov    schedule 26.03.2019    source источник
comment
Обновите материал. 3.0 довольно старый с точки зрения скорости эволюции Swift   -  person vadian    schedule 26.03.2019
comment
Я использую Xcode 10.2 и пытаюсь открыть старую версию 3.0, но не могу запустить программу, потому что у меня есть ошибки.   -  person vlad uvarov    schedule 26.03.2019
comment
Откройте и обновите проект в Xcode 10.1. На диске может быть несколько разных версий Xcode.   -  person vadian    schedule 27.03.2019
comment
обновленная версия Xcode; (   -  person vlad uvarov    schedule 27.03.2019
comment
Восстановить предыдущую версию из резервной копии   -  person vadian    schedule 27.03.2019
comment
та же проблема...   -  person vlad uvarov    schedule 27.03.2019
comment
МОЙ БОГ!!! Я потратил три часа на загрузку XCode 10.2 и обнаружил, что больше не могу создавать свои приложения. У меня нет бэкапа XCode 10.1! Это просто безумие, за которое Apple должна мне заплатить.   -  person vojta    schedule 09.04.2019
comment
У меня еще более забавный случай: ошибка: SWIFT_VERSION '5.0' не поддерживается, поддерживаемые версии: 3.0, 4.0, 4.2. (в цели "Старскрим")   -  person user2401543    schedule 03.06.2019
comment
Для тех, кому интересно, вы можете скачать старые версии Xcode здесь: developer.apple.com/download/more < / а>   -  person Victor    schedule 24.03.2020


Ответы (16)


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

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

person Xeneka    schedule 27.03.2019

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

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

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

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

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

person Kingsley Mitchell    schedule 31.03.2019

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

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

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

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

person Deepak Chaudhary    schedule 12.04.2019
comment
Это решение не работает, если версия Swift 3.x и у вас версия Xcode выше, чем 10.2. - person Juan P. Ortiz; 24.04.2019

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

$ vim MyProject.xcodeproj/project.pbxproj

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

SWIFT_VERSION = 3.0;

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

person Forrest    schedule 13.07.2019
comment
Я использовал руководство Apple для перехода с Swift 3.0 на 5.0, однако помощник не отображался какие-либо предложения. Как только я изменил эти две строки в ответе выше, мне сразу же было предложено выполнить миграцию. Спасибо, что поделились этим решением @Forrest! - person Kareem Jeiroudi; 17.07.2019
comment
Это сработало и для меня. Выполнение класса на нем, и пример проекта был в неправильной версии. - person sixstring; 19.08.2019
comment
Плюс один, работает! После этого изменения в моем коде было только одно предупреждение. - person David Lindsay; 22.01.2021
comment
Пятно! Моя была под /* Release */ и /* Debug */ - person grantmx; 17.02.2021

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

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

person Manoj Rawat    schedule 20.10.2019

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

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

person Govind Wadhwa    schedule 29.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, поддерживающий режим Swift 3. В выпусках, следующих за Swift 3, произошли важные изменения как на поверхности языка, так и внутри его реализации, которые станут основой будущей (и долгосрочной) стабильности исходного кода и двоичного кода.

См. Ссылку ниже для получения более подробной информации. https://developer.apple.com/documentation/xcode_release_notes_2/xcode_release_notes_2/xcode_release_notes_2/xcode_release_notes_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/

person Bhavin_m    schedule 04.04.2019

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

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

person ScottyBlades    schedule 04.04.2020
comment
Хороший совет! Или почему бы просто не набрать swift_version, чтобы получить более аккуратный список :) - person turingtested; 04.06.2021

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

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

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

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

person Justin Vallely    schedule 14.05.2019

  1. Check this out:
    1. Click on Project name
    2. Нажмите цель
    3. Нажмите на настройку сборки
    4. В языковой версии Swift: выберите Swift 4

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

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

person coders    schedule 01.10.2019

Я открыл файл MyProject.xcodeproj (с помощью редактора VSCode)

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

SWIFT_VERSION = 3.0;

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

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

person Dan Alboteanu    schedule 20.03.2020

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

person William    schedule 10.03.2020

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

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

person Erhan Demirci    schedule 22.09.2019

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

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

person Jo Poon    schedule 21.01.2020

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

пример Calculator.xcodeproj

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

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

person Lamhot    schedule 09.06.2020

Пожалуйста, убедитесь, что версия вашего модуля совместима с версией вашего Swift. Я столкнулся с этой проблемой, когда установил неправильную версию модуля (swift 2.3), но я использовал swift 4

person Prince Kumar    schedule 06.04.2021