Jak naprawić błąd „SWIFT_VERSION '3.0' jest nieobsługiwany, obsługiwane wersje to: 4.0, 4.2, 5.0” w Xcode 10.2?
118
Próbuję uruchomić pobrany z aplikacji, spróbuj otworzyć w Xcode i mam błąd:
„Wyświetlanie ostatnich wiadomości
: -1: SWIFT_VERSION '3.0' nie jest obsługiwany, obsługiwane wersje to: 4.0, 4.2, 5.0. (W docelowym 'SimpleWeather')”
Używam Xcode 10.2 i próbuję otworzyć starą wersję 3.0, ale nie mogę uruchomić programu, ponieważ mam błędy.
vlad uvarov
Otwórz i zaktualizuj projekt w Xcode 10.1. Na dysku można mieć wiele różnych wersji Xcode.
vadian
1
zaktualizowana wersja Xcode; (
vlad uvarov
7
O MÓJ BOŻE!!! Pobranie XCode 10.2 zajęło mi trzy godziny tylko po to, aby dowiedzieć się, że nie mogę już tworzyć moich aplikacji. Nie mam kopii zapasowej XCode 10.1! To po prostu szaleństwo, za które Apple powinno mi zapłacić.
vojta
Odpowiedzi:
99
Wybierz docelowy „SimpleWeather” w projekcie i zmień wersję językową Target-> ustawienia kompilacji -> Swift język kompilatora -> wybierz 5, 4.2 itd.
Użyłem przewodnika Apple do migracji ze Swift 3.0 do 5.0, jednak asystent nie pokazywał żadnych sugestii. Jak tylko zmodyfikowałem te dwie linie w powyższej odpowiedzi, skłoniło mnie to do natychmiastowej migracji. Dzięki za udostępnienie tego rozwiązania @Forrest !
Kareem Jeiroudi,
Niesamowite! Cieszę się, że ci pomogło @KareemJeiroudi
Forrest
2
Dzięki, bardzo mi to pomogło. Szukałem w Google pół godziny i znalazłem rozwiązanie ...
Dharmik
2
U mnie też to zadziałało. Wykonywanie na nim zajęć i przykładowy projekt był w złej wersji.
Wygląda na to, że aplikacja może mieć stary kod wersji Swift, taki jak Swift 3.0 w twoim przypadku. W wydaniu Xcode w wersji 10.2 została uruchomiona wersja Swift 5.0. Xcode 10.2 nie obsługuje kompilatora dla wersji Swift 3.0. Możesz zmienić kompilator z Build Settings -> Swift Compiler - Language -> Swift Language Version -> Change it to Swift 5. Jeśli Twój kod jest zgodny z tą wersją językową, uruchomi go bez błędów.
Jednak tryb zgodności Swift 3 nie będzie obsługiwany w kompilatorze Swift 5. Swift 4.2 to ostatnia wersja Swift obsługująca tryb Swift 3. Istnieją ważne zmiany zarówno w powierzchni języka, jak i we wnętrzu jego implementacji w wydaniach następujących po Swift 3, które będą podstawą przyszłego (i trwałego) źródła i stabilności binarnej.
Jeśli naprawdę chcesz uruchomić aplikację, która ma starszy kod wersji Swift, musisz użyć starszej wersji Xcode. Możesz użyć Xcode w wersji 10.1, jest to kompilator obsługujący wersję Swift 3.0.
Innym alternatywnym sposobem jest migracja starego kodu Swift do nowej wersji wersji Swift. Możesz przeprowadzić migrację Swift 3.0 do Swift 4.0 w wersji Xcode 10.1.
Jestem nowy w rozwoju iOS. Po wykonaniu wszystkich powyższych odpowiedzi nadal otrzymuję ten sam błąd. Używałem Xcode 11 i pobrałem próbkę „ FoodTracker ” ze strony Apple Developer i otrzymałem ten sam błąd po próbie jej zbudowania. Zauważyłem, że projekt ma kilka ustawień odnoszących się do wersji językowej Swift po VIM zawartości pliku projektu. Więc rozwiązałem ten problem, ustawiając najpierw „Projekt> FoodTracker”, a także „CELE> FoodTracker” i „CELE> FoodTrackerTests” w Swift Language Version na 5.0. Mam nadzieję, że to pomoże.
Odpowiedzi:
Wybierz docelowy „SimpleWeather” w projekcie i zmień wersję językową Target-> ustawienia kompilacji -> Swift język kompilatora -> wybierz 5, 4.2 itd.
źródło
******** Najprostszy sposób: **********
1. Kliknij PODs w lewej kolumnie.
2. W środkowej kolumnie wybierz żądaną kapsułę, a następnie przejdź do „ustawień kompilacji” w prawym górnym panelu.
3. Następnie wyszukaj „Swift Language Version” i zmień na znaną wersję.
źródło
W przypadku Xcode 10.1 wybierz plik podów
-> Przejdź do Ustawień kompilacji -> Wybierz swój Pod -> Wyszukaj „Swift” -> Przejdź do „Wersja językowa Swift” -> Ustaw żądaną wersję językową.
źródło
3.x
i masz lepszą wersję Xcode niż10.2
Postępowałem zgodnie z instrukcjami na tej stronie i błąd nie został rozwiązany. Wreszcie wszedł do
i znalazłem dwa przypadki, w których
nadal był przywoływany. Zmieniłem je na 5.0 i błąd zniknął. Nie jestem pewien, dlaczego ci dwaj nadal tam byli.
źródło
źródło
wybierz pod jak na obrazku i zmień szybką wersję językową, dzięki czemu możesz zaoszczędzić jeden dzień
źródło
Wygląda na to, że aplikacja może mieć stary kod wersji Swift, taki jak Swift 3.0 w twoim przypadku. W wydaniu Xcode w wersji 10.2 została uruchomiona wersja Swift 5.0. Xcode 10.2 nie obsługuje kompilatora dla wersji Swift 3.0. Możesz zmienić kompilator z
Build Settings -> Swift Compiler - Language -> Swift Language Version -> Change it to Swift 5
. Jeśli Twój kod jest zgodny z tą wersją językową, uruchomi go bez błędów.Więcej informacji można znaleźć pod linkiem poniżej. https://developer.apple.com/documentation/xcode_release_notes/xcode_10_2_release_notes/swift_5_release_notes_for_xcode_10_2
Jeśli naprawdę chcesz uruchomić aplikację, która ma starszy kod wersji Swift, musisz użyć starszej wersji Xcode. Możesz użyć Xcode w wersji 10.1, jest to kompilator obsługujący wersję Swift 3.0.
Innym alternatywnym sposobem jest migracja starego kodu Swift do nowej wersji wersji Swift. Możesz przeprowadzić migrację Swift 3.0 do Swift 4.0 w wersji Xcode 10.1.
Przewodnik po migracji można znaleźć w tym https://swift.org/migration-guide-swift4/
źródło
Natknąłem się na ten problem podczas tworzenia Cocoapod.
.swift-version
W moim repozytorium znajdował się stary plik, który określał Swift 3.0.Bieganie
pod lib lint --verbose
doprowadziło mnie do tej pomocnej odpowiedzi:spec.swift_version = '5.0'
Usunąłem plik i dodałem do mojego pliku podspec, aby naprawić problem.źródło
źródło
Otworzyłem plik
MyProject.xcodeproj
(używając edytora VSCode)i znalazłem kilka wierszy, w których
(około linii 400, gdzie jest napisane
/* Begin XCBuildConfiguration section */
)Zmień na SWIFT_VERSION = 5.0 lub inne. Potem mogłem zbudować i uruchomić projekt.
źródło
Wyszukaj Swift i kliknij dwukrotnie, a następnie zmień każdą niewłaściwą wersję.
źródło
Jeśli masz wiele plików pod, tak jak ja, i masz problem ze znalezieniem modułu z SWIFT_Version = 3.0, wypróbuj pasek wyszukiwania
źródło
1) Zmień wersję poda w podfile (ponieważ biblioteka napisała starą wersję Swift)
2) „pod install” na terminalu
źródło
Jestem nowy w rozwoju iOS. Po wykonaniu wszystkich powyższych odpowiedzi nadal otrzymuję ten sam błąd. Używałem Xcode 11 i pobrałem próbkę „ FoodTracker ” ze strony Apple Developer i otrzymałem ten sam błąd po próbie jej zbudowania. Zauważyłem, że projekt ma kilka ustawień odnoszących się do wersji językowej Swift po VIM zawartości pliku projektu. Więc rozwiązałem ten problem, ustawiając najpierw „Projekt> FoodTracker”, a także „CELE> FoodTracker” i „CELE> FoodTrackerTests” w Swift Language Version na 5.0. Mam nadzieję, że to pomoże.
Ustawianie wersji Swift Language w projekcie i WSZYSTKICH celach
źródło
źródło