Основной ответ на ваш вопрос: да, вы можете использовать код objective-c, созданный с помощью CocoaPods.
Более важный вопрос: «Как пользоваться такими библиотеками?»
Ответ на этот вопрос зависит от use_frameworks!
флага в вашем Podfile
:
Предположим, вы хотите использовать модуль Objective-C с именем CoolObjectiveCLib
.
Если в вашем pod-файле используется use_frameworks!
флаг:
use_frameworks!
pod 'CoolObjectiveCLib'
Тогда вам не нужно добавлять файлы заголовков моста.
Все, что вам нужно, это импорт фреймворка в исходный файл Swift:
import CoolObjectiveCLib
Теперь вы можете использовать все классы, представленные в lib.
Если ваш pod-файл не использует use_frameworks!
флаг:
pod 'CoolObjectiveCLib'
Затем вам нужно создать файл заголовка моста и импортировать туда все необходимые заголовки Objective-C:
#import "CoolObjectiveCLib.h"
Теперь вы можете использовать все классы, определенные в импортированных заголовках.
UIView+Toast
название вашей капсулы? Если нет, попробуйте использовать структуру импорта, имя которой совпадает с именем вашего модуля.pod 'iOS-Echarts'
, то импорт будет происходить следующим образом: Файл Swift : Файлimport iOS_Echarts
Objective-C :#import <iOS_Echarts/iOS-Echarts.h>
В podFile используйте флаг
use_frameworks
! Внутри Xcode вPod
структуре папок в зависимости вы добавляетеxxxxxxx-umbrella.h
файлы поддержки.В вашем
{PROJECT_NAME}-Bridging-Header.h
использовании:#import "xxxxxxx/xxxxxxx-umbrella.h"
Меня устраивает.
источник
Вам просто нужен заголовок моста и импортируйте туда то, что вам нужно.
источник
И не забудьте добавить имя файла заголовка моста в Target -> Настройки сборки -> Заголовок моста Objective-C
источник