Podstawowa odpowiedź na Twoje pytanie brzmi: Tak, możesz użyć kodu Objective-C zbudowanego za pomocą CocoaPods.
Ważniejsze pytanie brzmi: „Jak korzystać z takich bibliotek?”
Odpowiedź na to pytanie zależy od use_frameworks!
flagi w twoim Podfile
:
Wyobraźmy sobie, że chcesz użyć kapsuły Objective-C z nazwą CoolObjectiveCLib
.
Jeśli twój plik pod używa use_frameworks!
flagi:
use_frameworks!
pod 'CoolObjectiveCLib'
Wtedy nie musisz dodawać żadnych plików nagłówkowych mostka.
Wszystko, czego potrzebujesz, to struktura importu w pliku źródłowym Swift:
import CoolObjectiveCLib
Teraz możesz używać wszystkich klas przedstawionych w lib.
Jeśli twój plik pod nie używa use_frameworks!
flagi:
pod 'CoolObjectiveCLib'
Następnie musisz utworzyć plik nagłówka mostkowania i zaimportować tam wszystkie niezbędne nagłówki Objective-C:
#import "CoolObjectiveCLib.h"
Teraz możesz używać wszystkich klas zdefiniowanych w importowanych nagłówkach.
UIView+Toast
nazwa dla Twojego kapsuły? Jeśli nie, spróbuj użyć struktury importu, której nazwa pasuje do nazwy twojego poda.pod 'iOS-Echarts'
, import będzie przebiegał w następujący sposób: Plik Swift : Plikimport iOS_Echarts
Objective-C :#import <iOS_Echarts/iOS-Echarts.h>
W podFile użyj flagi
use_frameworks
! Wewnątrz Xcode wPod
strukturze folderów w zależności należy dodaćxxxxxxx-umbrella.h
pliki pomocnicze.W twoim
{PROJECT_NAME}-Bridging-Header.h
użyciu:#import "xxxxxxx/xxxxxxx-umbrella.h"
Mi to pasuje.
źródło
Potrzebujesz tylko nagłówka mostkującego i zaimportuj tam to, czego potrzebujesz.
źródło
ORAZ nie zapomnij dodać nazwy pliku nagłówka Bridging do elementu Target -> Build Settings -> Objective-C Bridging Header
źródło