Как исправить ошибку «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 и т. Д.

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

Xeneka
источник
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/.

Bhavin_m
источник
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 и дважды щелкните, а затем измените каждую версию, вызывающую нарушение.

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

ScottyBlades
источник
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;

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

Lamhot
источник