Як виправити "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.