Wenn X-Code versucht, einen Überbrückungsheader automatisch zu erstellen, stürzt dieser jedes Mal ab. Daher habe ich die Anweisungen zum manuellen Erstellen eines Überbrückungsheader befolgt. (Erstellen Sie eine .h-Datei, nennen Sie sie <#PROJECT_NAME> -Bridging-Header.h, importieren Sie alle benötigten .h-Dateien?)
Problem ist, wenn ich versuche, eine Klasse in der .Swift-Datei zu instanziieren, die in diesem Header enthalten ist, passiert nichts (es heißt, dass die Klasse nicht existiert) versuchen Sie, sie einzubeziehen, und lassen Sie mich glauben, dass sich etwas nicht richtig verbindet.
Ist jemand darauf gestoßen? Weiß jemand, wie man es behebt?
Sie müssen es zu den Build-Einstellungen Ihres Ziels hinzufügen:
Wenn Sie in Xcode die Build-Einstellungen für Ihr Ziel aufrufen und ganz nach unten scrollen, finden Sie einen Abschnitt "Swift Compiler - Codegenerierung".
Setzen Sie "Objective-C Bridging Header" auf <#PROJECT_NAME>-Bridging-Header.h
Ich bin mir nicht sicher, ob der richtige Wert für "Objective-C-Kompatibilitätsheader installieren" angegeben ist, aber es ist ein Ja/Nein, sodass Sie dies umschalten können, wenn es zuerst nicht funktioniert.
Ich habe versucht, einen Überbrückungsheader selbst zu erstellen, aber aus irgendeinem Grund hat es Xcode nicht gefallen. Also habe ich meine benutzerdefinierte Datei gelöscht, eine Obj C-Datei importiert und Xcode gefragt, ob ich eine für mich erstellen möchte.
Ich habe ja geklickt und es hat funktioniert!
1) Erstellen Sie eine Datei mit dem Namen "FMDB-Bridging-Header.h"
geben Sie in diese Datei Folgendes ein: #import "FMDB.h"
3) gehe zu Build Settings -> Swift Compiler - Code Generation - füge zu 'Objective-C Bridging Header' hinzu: FMDB-Bridging-Header.h
oder wenn es in einem Ordner in Ihrem Projekt platziert wurde:
Ordnername/FMDB-Bridging-Header.h
Gehen Sie zu Build Settings> Build Options und setzen Sie "Embedded Content Contains Swift Code" auf "Yes"
Gehen Sie zu Build Settings> Linking und fügen Sie "@ executable_path/Frameworks" zu Runpath Search Paths hinzu
Bauen Sie jetzt Ihr Projekt!
es könnte hilfreich sein, den Namen des Bridging-Headers mit seinem Projektstamm als "MyProject/MyProject-Bridging-Header.h" in den Zeichenfolgenwert des Compiler-Build-Schlüssels Swift 'Objective-C Bridging-Header' zu setzen.