Die grundlegende Antwort auf Ihre Frage lautet Ja. Sie können Objective-C-Code verwenden, der mit CocoaPods erstellt wurde.
Eine wichtigere Frage ist "Wie benutzt man solche Bibliotheken?"
Die Antwort auf diese Frage hängt von der use_frameworks!
Flagge in Ihrem ab Podfile
:
Stellen Sie sich vor, Sie möchten den Objective-C-Pod mit Namen verwenden CoolObjectiveCLib
.
Wenn Ihre Pod-Datei das use_frameworks!
Flag verwendet:
use_frameworks!
pod 'CoolObjectiveCLib'
Dann müssen Sie keine Bridge-Header-Dateien hinzufügen.
Alles, was Sie brauchen, ist ein Import-Framework in die Swift-Quelldatei:
import CoolObjectiveCLib
Jetzt können Sie alle Klassen verwenden, die in lib dargestellt werden.
Wenn Ihre Pod-Datei kein use_frameworks!
Flag verwendet:
pod 'CoolObjectiveCLib'
Dann müssen Sie eine Bridging-Header-Datei erstellen und dort alle erforderlichen Objective-C-Header importieren:
#import "CoolObjectiveCLib.h"
Jetzt können Sie alle Klassen verwenden, die in importierten Headern definiert sind.
UIView+Toast
Name für Ihren Pod? Wenn nicht, versuchen Sie, ein Import-Framework zu verwenden, dessen Name mit Ihrem Pod-Namen übereinstimmt.pod 'iOS-Echarts'
, werden die Importe wie folgt ausgeführt: Swift-Datei :import iOS_Echarts
Objective-C-Datei :#import <iOS_Echarts/iOS-Echarts.h>
Verwenden Sie in podFile die Flagge
use_frameworks
! Innerhalb von Xcode in derPod
Ordnerstruktur in der Abhängigkeit fügen Siexxxxxxx-umbrella.h
Support-Dateien hinzu.Bei Ihrer
{PROJECT_NAME}-Bridging-Header.h
Verwendung:#import "xxxxxxx/xxxxxxx-umbrella.h"
Für mich geht das.
quelle
Sie brauchen nur einen Bridging-Header und importieren dort, was Sie brauchen.
quelle
UND vergessen Sie nicht, den Dateinamen Bridging Header zu Target -> Build Settings -> Objective-C Bridging Header hinzuzufügen
quelle