Модуль, скомпилированный с помощью Swift 4.1, нельзя импортировать в Swift 3.2.3.

Я обновил Usabilla SDK в приложении до последней версии в терминале. После запуска приложения я получил эту ошибку:

Модуль, скомпилированный с помощью Swift 4.1, нельзя импортировать в Swift 3.2.3.

когда я импортирую в свое приложение следующее:

import Usabilla 

Пожалуйста, предоставьте подробные шаги для решения.


person Mitra sharafi    schedule 17.05.2018    source источник
comment
Вы обновили Xcode?   -  person Pranav Kasetti    schedule 17.05.2018
comment
Почему вы все равно используете Swift 3.2.3 вместо Swift 4?   -  person Dávid Pásztor    schedule 17.05.2018
comment
Добавлен полезный комментарий к @David_Pasztor. Кроме того, вы должны понимать историю версий Swift, особенно время. Всего через две недели весьма Apple объявит (сразу доступный в бета-версии и в сентябре) как Xcode 10, так и Swift 5. Немного менее вероятно, вероятность того, что Xcode 10 не будет поддерживать какую-либо версию Swift 3. Если вы программируете с использованием Swift, вам нужно добавить что-то в свой список задач, чтобы потратить июнь-сентябрь на обновление до последней версии Swift. (К счастью, худшее позади — перенос Swift 2 на 3 был болезненным.)   -  person dfd    schedule 17.05.2018


Ответы (2)


Swift еще не предлагает бинарную совместимость. Это означает, что весь код Swift, используемый в проекте, должен быть скомпилирован с использованием одной и той же версии Swift.

Ваши варианты:

  1. Найдите версию SDK, скомпилированную с нужной вам версией Swift,
  2. Принесите исходный код SDK в свой проект и скомпилируйте его там, или
  3. Обновите свой проект до Swift 4.1 и используйте последнюю версию Xcode.

Вариант 3 - моя рекомендация, если это возможно.

person picciano    schedule 17.05.2018
comment
Я столкнулся с точно таким же сценарием. Каким-то образом по требованию я мог обновить Swift до последней версии. Поэтому я последовал другому упомянутому варианту. - person Nitish; 17.05.2018

Вы должны обновить свою версию Xcode, получить ее последнюю версию здесь Swift еще не обратно- совместимы, поэтому вы видите ошибку.

person FullMetalFist    schedule 17.05.2018