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')”
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')”
Odpowiedzi:
******** 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ę.
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ą.
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
$ vim MyProject.xcodeproj/project.pbxproj
i znalazłem dwa przypadki, w których
SWIFT_VERSION = 3.0;
nadal był przywoływany. Zmieniłem je na 5.0 i błąd zniknął. Nie jestem pewien, dlaczego ci dwaj nadal tam byli.
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.
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/
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:
Usuń
.swift-version
plik, który jest obecnie przestarzały, i używaj tegoswift_version
atrybutu tylko w podspec.
spec.swift_version = '5.0'
Usunąłem plik i dodałem do mojego pliku podspec, aby naprawić problem.
Otworzyłem plik MyProject.xcodeproj
(używając edytora VSCode)
i znalazłem kilka wierszy, w których
SWIFT_VERSION = 3.0;
(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.
1) Zmień wersję poda w podfile (ponieważ biblioteka napisała starą wersję Swift)
2) „pod install” na terminalu
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