Использование кокосовых стручков без использования use_frameworks! в Свифте

Согласно этому руководству, мы должны добавить use_frameworks! к Podfile в проекте Swift. Но как использовать сторонний код в .m в этом же проекте?

Один из возможных способов,

  • НЕ добавляйте use_frameworks! к Podfile
  • Импорт заголовка в ...-Bridging-Header.h
  • Затем я могу использовать сторонний код как в файле .swift, так и в файле .m.

Но когда я пытаюсь импортировать заголовок в ...-Bridging-Header.h, он просто выдает ошибку *.h file not found, как решить эту проблему?


person Yuwen Yan    schedule 03.11.2015    source источник


Ответы (1)


прошлый

До CocoaPods 1.4.x (включено) НЕ было возможности использовать CocoaPods с кодом Swift без use_frameworks!.

Присутствует: 1.x.x и выше

В настоящее время с CocoaPods 1.x.x (я проверил его с 1.4.0) обычно используется use_frameworks! для проектов Swift и ObjC: он позволяет без проблем смешивать два языка любым способом:

  • Вы сможете использовать зависимость Swift в проекте Objective-C.
  • Вы сможете использовать зависимость Objective-C в проекте Swift.

Присутствует: 1.5.x и выше

В настоящее время CocoaPods 1.5.0 поддерживает интеграцию модулей swift в качестве статических библиотек. Попробуйте (sudo gem install cocoapods) и наслаждайтесь удалением use_frameworks! из вашего подфайла.


Обратите внимание, что для iOS:

  • Apple требует минимум Xcode 10.1, который хорошо поддерживается только запуском CocoaPods 1.6.0, поэтому не беспокойтесь об использовании старых версий CocoaPods.
  • Apple потребует как минимум Xcode 11 в апреле 2020 года, для чего я буду использовать только CocoaPods 1.7.5 или новее вместе с xcodeproj 1.13.0 или новее.
person Cœur    schedule 18.03.2018
comment
Для совместимости с Xcode 11 я бы использовал только CocoaPods 1.7.5 или новее. - person Cœur; 17.08.2019