Подтвердить что ты не робот

Модуль, скомпилированный с Swift 2.3, не может быть импортирован в Swift 3.0

Я добавляю в свой проект Facebook SDK (Swift). И теперь я обновляю Xcode 8 и Swift 3. У меня ошибка во времени сборки

Module compiled with Swift 2.3 cannot be imported in Swift 3.0 

Очень странно, что это не поддерживается. У кого-нибудь были подобные проблемы?

4b9b3361

Ответ 1

Не забудьте установить Use Legacy Swift Language Version в YES для целевой цели проекта

Вы строите свой проект в версии 2.3, а не в версии 3.0

Ответ 2

Имейте в виду, что если вы хотите использовать Swift 3 в качестве основного языка проекта, вы должны использовать стручки, которые являются либо Swift 3, либо Swift 2.2-. Если вы попытаетесь использовать проект Swift 2.3, они не будут компилироваться (как в описанной ошибке).

Поэтому лучше всего использовать либо Swift 3 pods, либо Swift 2 (2.1 или 2.2), и выбрать Use Legacy SLV для этого конкретного модуля (в настройке сборки Pods для конкретной цели, которую вы хотите использовать).

Ответ 3

В настоящее время в SDK Facebook еще не поддерживаются проекты, написанные в Swift 3.0.

Есть несколько issues, на которые вы можете подписаться на их Github для обновлений.

На данный момент вам придется использовать Swift 2.3. Facebook сказал, что планирует выпустить обновление вскоре после выхода GM, что уже произошло, поэтому он, вероятно, придет в течение следующих нескольких недель.

Ответ 4

Попробуйте удалить все файлы под /tmp/Build/Products/... и /tmp/Build/Intermediates/... и снова создать.

Ответ 5

Возможно, немного поздно, но изменив настройки на \fro Да и Нет, мне не помогло, но просто очистка полученных вами данных от симуляторов просто заставило все работать.