2016-09-15 10 views
8

Uaktualniam CocoaPod do Swift 3. Kompiluje i działa dobrze, ale pod lib lint kończy się niepowodzeniem z wieloma błędami kompilatora, ponieważ linter próbuje skompilować wszystko jako Swift 2.3.Swift 3 CocoaPod nie przekazuje kłótni

Próby ustawienia SWIFT_VERSION w podspec lub zmiana "Użyj starej wersji językowej Swift" w moim projekcie Xcode mojego projektu nie rozwiązują problemu.

Jak zrobić linter pod użyć Swift 3?

+0

Ten sam problem tutaj, nie lint! – dip

Odpowiedz

25

Okazuje się, że CocoaPods szuka teraz pliku .swift-version od wersji 1.1.0.rc.2 (changelog). Jeśli plik zawiera 3.0, linting zadziała:

echo 3.0 > .swift-version 
+3

Wygląda na to, że nie działa dla mnie –

+0

, pomóż mi rozwiązać problem. –

+2

@KyleGoslan Nie działał dla mnie, dopóki nie wysłałem tego pliku do mojego repozytorium: | – streem

5

najpierw trzeba aktualizować cocoapods do 1.1.0.rc.2 przez

[sudo] gem install cocoapods --pre 

wtedy jak mówi Paweł Cantrell, zrobić

echo 3.0 > .swift-version 

w tym samym katalogu, gdzie specyfikacja pod jest

+0

zaoszczędzisz mój dzień +1 – Yossi

1

Mam ten problem podczas tworzenia SDK, który jest de oczekuje na socket.io-Client-Swift. Po typie

echo 3.0 > .swift-version 

nadal nie naprawię mojego problemu.

Zauważyłem jednak, że korzystam z linku xcodebuild, aby sprawdzić, czy framework jest gotowy do wydania bez błędu. Upewnij się, że używasz Xcode 8 do tworzenia pod lint. Z jakiegoś powodu instaluję Xcode7 & Xcode8 i zmieniłem ścieżkę xcodebuild na xcode7, więc kłódka nie zostanie przekazana, gdy chcę utworzyć framework z szybkim 3.

użyj poniższego kodu, aby upewnić się, że twój kod xcode ustawienie jest właściwe.

xcode-select -print-path 

jeśli ścieżka Xcode-select nie wskazują na xcode8, należy za pomocą

xcode-select -switch <path> 

ustawić ścieżkę Xcode-select do xcode8 który jest zazwyczaj w aplikacjach.

0

Znam ten został napisany dla Swift 3, ale można zrobić to samo zaktualizować strąków do 4,0:

echo 4.0 > .swift-version 

Dokonano tego z wersji 1.3.1 Cocoapods.