2016-09-23 15 views
16

Próbuję zainstalować Cocoalumberjack jako kapsuły i otrzymuję ten błąd:błędu instalacja kakaowca: "Celem przesłania build SWIFT_VERSION ustawienie"

The ProjectName [Release] target overrides the SWIFT_VERSION build setting defined in `Pods/Target Support Files/Pods-ProjectName/Pods-ProjectName.release.xcconfig'. This can lead to problems with the CocoaPods installation

Plik xcconfig pod ten zawiera:

SWIFT_VERSION = 3.0 

Ale mój projekt już korzysta z szybkiego 3., więc nie rozumiem, dlaczego jest to niedopasowanie.

xcrun swift -version

Apple Swift version 3.0 (swiftlang-800.0.46.2 clang-800.0.38)

Jednak nie mogę zobaczyć SWIFT_VERSION w szczególności nigdzie w ustawieniach kompilacji Xcode, ani gdybym wpisać SWIFT jako szukanej w ustawieniach zbudować Xcode za widzę nic nigdzie, że nawet wygląda jak numer szybka wersja

Dodatkowo instalacja na strączynie mówi: "Użyj flagi $(inherited)", aby rozwiązać problem. Jednak moje ustawienia kompilacji Xcode inne flagi linkerów mają już tę flagę (odziedziczoną), więc dlaczego nie rozwiązuje problemu?

(Xcode 8)

+0

ten sam numer dla mnie na Xcode 8 –

Odpowiedz

12

Jest to nieco nieintuicyjne, ale to, co trzeba zrobić, to:

1) szukaj „SWIFT_VERSION” w ustawieniach projektu

2) pojawi się wpis mówiąc „Use Legacy Swift Wersja języka”

  • Jeśli już wybrano żadnej wartości będzie wytłuszczone

3) Wybierz pozycję (nie wartości) i naciśnij "DELETE", pogrubienie powinno zniknąć.

4) Powtórz te same czynności, ale teraz za swój cel (jednego z ikoną app)

5) Zamknij XCode

6) Run "Pod zainstalować" ponownie

7) Rozwinąć Twój projekt i CLEAN IT (Shift + Command + K)

Teraz powinien działać poprawnie.

UWAGA:

Specjalnie dla "Cocoalumberjack" upewnij się, że jest pod zainstalowaniem 3.0+ wersja, jeśli jej nie uruchomić aktualizację sudo „saszetki” jako poprzednich wersjach tego nie będzie działać z Swift 3.

EDIT:

Jestem całkiem pewien, że cocoapods manipulacyjny to nieco buggy w tej chwili, jak ja doświadczyłem czasem to działa, a inne nie robi. Należy jednak pamiętać, że można ustawić flagę "SWIFT_VERSION" bezpośrednio dla każdego modelu:

1) Wybierz projekt Pods (w projekcie).

2) Wybierz cel, który chcesz ustawić i odszukaj flagę "SWIFT_VERSION" specjalnie dla tego celu.

3) Oczyść i odbuduj.

+0

jak u diabła znalazłeś to rozwiązanie? dobra robota!!! niesamowity. 7-etapowe instrukcje zadziałały dla mnie. Występował przy instalacji Lumberjack + swift + pods. – nurxyz

1

Trzeba usunąć zastąpiona "Use Legacy Swift wersja językowa" budować ustawienie od swoich celów.

0

To nie jest dokładnie pomocne, ponieważ nie ma sposobu, aby go usunąć.

Dziedziczysz wartość lub przypisujesz wartość i nie ma możliwości powrotu do wartości $ (dziedziczonej) po przypisaniu ze względu na sposób, w jaki interfejs jest zbudowany na Xcode (w niektórych opcjach masz "niestandardowa" wartość, w której możesz dodać tę wartość, ale nie dla wszystkich rodzajów wartości).

To coś w rodzaju ślepego zaułka bez prawdziwych rozwiązań.

+0

tak, jest, zobacz moją odpowiedź. – Pochi

+0

Tak, to rozwiązuje problem, aczkolwiek jego UX to ££ $% $ £% £% £. –