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