2016-09-14 11 views
18

Dodajemy Facebook SDK (Swift) do mojego projektu. A teraz zaktualizować Xcode 8 i Swift 3. mam błąd w czasie kompilacjiModuł skompilowany za pomocą Swift 2.3 nie może być zaimportowany do Swift 3.0

Module compiled with Swift 2.3 cannot be imported in Swift 3.0 

Jest to bardzo dziwne, że nie jest obsługiwany. Czy ktoś miał podobne problemy?

+0

Czy sprawdziłeś, czy dostępny jest nowszy pakiet SDK serwisu Facebook dla Xcode 8? –

+0

tak, sprawdzam to i robię 'aktualizację Carthage' – Evsenev

Odpowiedz

11

Pamiętaj, aby ustawić Use Legacy Swift Language Version do YES za cel projektu

Ty budujesz swój projekt w 2.3, a nie 3.0

+0

Mam dokładnie ten sam dokładny błąd dla innego modułu,' SinchVerification-Swift'. Aktualizacja starszej wersji nie pomaga. Zrobiłem już 'pod aktualizację' i otrzymałem najnowsze. Czy jest w pobliżu praca? – oyalhi

+0

cześć, Użyj Legacy nie działa dla mnie. Ale próbuję "aktualizacji kartagażowych" to też nie działa. Używam Kartaginy dla zależności. – Evsenev

+0

Jako @subjective_c, Facebook wkrótce wyda wersję dla Swift 2.3. Osobiście ten błąd pojawia się w 'ObjectMapper' i ustawia flagę' Use Legacy Swift Language Version' na 'YES' dla mnie ... – douarbou

0

Obecnie Facebook SDK robi not yet projektów wsparcia napisane w Swift 3.0.

Istnieje kilka issues można zapisać się na ich Github aktualizacji.

Na razie będziesz musiał używać Swift 2.3. Facebook powiedział, że planuje wydać aktualizację wkrótce po wydaniu GM, co już się stało, więc prawdopodobnie nastąpi w ciągu najbliższych kilku tygodni.

2

Pamiętaj, że jeśli chcesz używać Swift 3 jako języka głównego projektu, musisz użyć strąków, które są albo Swift 3, albo Swift 2.2-. Jeśli spróbujesz użyć projektu Swift 2.3, nie skompilują się (jak w omawianym błędzie).

Najlepiej więc użyć strąków Swift 3 lub Swift 2 (2.1 lub 2.2) i wybrać opcję Use Legacy SLV dla tej konkretnej kapsuły (w ustawieniu kompilacji "Pods" dla konkretnego celu, który chcesz posługiwać się).

0

Spróbuj usunąć wszystkie pliki pod /tmp/Build/Products/... i /tmp/Build/Intermediates/... i ponownie skompiluj.

0

To może trochę za późno, ale zmiana ustawień na \ fro Tak i Nie nie pomogło mi, ale po prostu wyczyszczenie moich pochodnych danych z symulatorów właśnie sprawiło, że wszystko działało.

Powiązane problemy