Як виправити "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, але не можу запустити програму, тому що у мене є помилки.
vlad uvarov

Відкрийте та оновіть проект у Xcode 10.1. На диску можливе наявність декількох різних версій Xcode.
вадіан

1
оновлена ​​версія Xcode; (
vlad uvarov

7
О БОЖЕ МІЙ!!! На завантаження XCode 10.2 мені знадобилося три години часу, щоб дізнатися, що я більше не можу створювати свої додатки. У мене немає резервної копії XCode 10.1! Це просто божевілля, за яке Apple повинен мені заплатити.
Войт

Відповіді:


99

Виберіть ціль "SimpleWeather" у проекті та змініть мовну версію Target-> налаштування збірки -> Swift мова компілятора -> виберіть 5, 4.2 тощо

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


76

******** Найпростіший спосіб: **********

1. Клацніть на PODs у лівій колонці.

2.У середньому стовпчику виберіть потрібний поділ, а потім перейдіть до «налаштування параметрів» у верхній правій панелі.

3. Потім знайдіть "Швидка версія мови" та перейдіть на відому версію.

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


1
Дякую тобі. Це відповідь, яку я шукаю.
Vinu Jacob

Знімок екрана допомагає шукати.
Намо

53

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

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

-> Перейдіть до "Налаштування збірки" -> Виберіть "Pod" -> Пошук "Швидкий" -> Перейдіть до "Версії мови швидкої" -> Встановіть потрібну мовну версію.

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


9
Це рішення не працює, якщо версія Swift є 3.xі у вас більша версія Xcode ніж10.2
Juan P. Ortiz

12

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

$ vim MyProject.xcodeproj/project.pbxproj

і знайшов два випадки, де

SWIFT_VERSION = 3.0;

досі посилався. Я змінив їх на 5.0, і помилка не стала. Не впевнений, чому ці двоє ще були там.


1
Я використовував посібник Apple для міграції зі Swift 3.0 на 5.0, проте помічник не виявляв жодних пропозицій. Як тільки я змінив ці два рядки у відповіді вище, це підштовхнуло мене до переходу відразу. Дякуємо, що поділилися цим рішенням @Forrest !
Kareem Jeiroudi

Дивовижно! Радий, що це допомогло вам @KareemJeiroudi
Forrest

2
Дякую, мені це дуже допомогло. Я гуляв півгодини і з'ясовував це рішення ...
Dharmik

2
Це працювало і для мене. Робити клас на ньому та на прикладі проекту було в неправильній версії.
шість рядків

11
  1. Виберіть проект
  2. Виберіть Build SettingTab
  3. Виберіть Швидка мова компілятора Варіант

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


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атрибут у вашому підспеці.

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


5
  1. Заціни:
    1. Клацніть на назву проекту
    2. Клацніть ціль
    3. Клацніть на налаштування збірки
    4. У версії мови Swift: виберіть Swift 4

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

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


4

Я відкрив файл MyProject.xcodeproj (за допомогою редактора VSCode)

і я знайшов десь рядки

SWIFT_VERSION = 3,0;

(приблизно в рядку 400, де йдеться /* Begin XCBuildConfiguration section */)

Змініть SWIFT_VERSION = 5.0 або інші. Після цього я зміг побудувати і запустити проект.


3

Шукайте Swift та двічі клацніть, а потім змініть кожну з них.

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


1

Якщо у вас декілька файлів стручків, як я, і у вас виникають проблеми з пошуком поділу за допомогою SWIFT_Version = 3.0, спробуйте панель пошуку


0

1) змінити версію pod на podfile (тому що бібліотека написала стару швидку версію)

2) "встановити pod" на терміналі


0

Я новачок у розробці iOS. Після того, як я дотримувався всіх вищезазначених відповідей, я все-таки отримав ту саму помилку. Я використовував Xcode 11 і завантажив зразок " FoodTracker " з веб-сайту Apple Developer, і я отримав таку ж помилку після спроби створити його. Я виявив, що проект має кілька налаштувань, що стосуються версії мови Swift після VIM вмісту файлу проекту. Отже, я вирішив це, спершу встановивши "Project> FoodTracker", а також "TARGETS> FoodTracker" та "TARGETS> FoodTrackerTests" версію мови Swift до 5,0. Сподіваюся, це допомагає.

Встановлення версії мови Swift на Project і ALL Targets


-1
  1. відкрити MyProject.xcodeproj / project.pbxproj в редакторі (eq Sublime)

приклад Calculator.xcodeproj

  1. Перейменуйте всі SWIFT_VERSION = 3.0; Перейменуйте всі SWIFT_VERSION = 5,0;

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.