Ich importierte eine Obj-C-Datei in mein Swift-Projekt, und Xcode forderte mich automatisch auf, eine Bridging-Header-Datei wie erwartet zu erstellen. Ich habe jedoch beide Dateien gelöscht (in den Papierkorb verschoben), um einige Änderungen vorzunehmen, aber wenn ich versuche, die Obj-C-Datei erneut zu importieren, erscheint die Aufforderung nicht mehr. Was ist der Grund? Ich habe das gleiche Szenario auch in einem anderen Projekt getestet. Es scheint, als lösche ich den automatisch erstellten Bridging-Header von Xcode. Es wird die Aufforderung nicht ein weiteres Mal wieder aufrufen. Warum ist das?
Der Grund für Ihr Problem ist, dass die Xcode-Build-Einstellungen immer noch den Pfad zur automatisch generierten Bridging-Header-Datei enthalten. Sie können keine Build-Fehler erhalten, da die Header-Datei (ProjectName-Bridging-Header.h)
noch in Ihrem Projektverzeichnis vorhanden ist.
Wie zu beheben:
Klicken Sie auf Ihr Projektziel, Wechseln Sie zur Registerkarte Build Settings ( Wählen Sie all anstelle von basic ) und suchen Sie nach Bridging Header. Sie können den durch Xcode generierten Pfadeintrag sehen. Wählen Sie es aus und klicken Sie auf die Schaltfläche "Löschen".
Stellen Sie außerdem sicher, dass die automatisch erzeugte Xcode-Bridging-Headerdatei (ProjectName-Bridging-Header.h)
aus Ihrem Xcode-Projektverzeichnis gelöscht wird.
Versuchen Sie nun erneut, die Obj-C-Datei zu importieren. Sie können die Aufforderung zum Erstellen einer Bridging-Header-Datei wie erwartet sehen.
Datei -> Neue Datei -> Header-Datei
Speichern Sie es als YourApp-Bridging-Header
Gehen Sie dann zu den Build-Einstellungen, suchen Sie nach "Objective-C Bridging Header" (wie zuvor von den Jungs gesagt) und gehen Sie zu Ihrem Bridging-Header wie folgt: YourApp/YourApp-Bridging-Header.h Wo "YourApp /" der Name einer App ist. Es könnte Leerzeichen enthalten, z. B. "Ihre App /".
In meinem Fall in xCode 7.3.1 funktioniert es
Es gibt verschiedene Möglichkeiten, Bridging Header in xcode zu erstellen, wie oben erwähnt/vorgeschlagen. Hier würde ich Ihnen den besten und einfachsten Weg zum Erstellen von Bridge geben.
wenn Sie Ihre Kopfzeile in einer Gruppe behalten möchten, verwenden Sie New Group und ziehen Sie Ihre Datei in diese Gruppe.
Erstellen Sie niemals einen Ordner, andernfalls erhalten Sie eine Fehlermeldung.
schauen Sie unter Ihren Projekteinstellungen nach -> Build-Einstellungen, scrollen Sie zum Abschnitt User-Defined
, sehen Sie, ob er einen Schlüssel namens Swift_OBJC_BRIDGING_HEADER
hat und ob er einen Wert hat. Wenn dies der Fall ist, werden wahrscheinlich bereits Dateien vorhanden sein. Erstellen Sie in diesem Fall einfach die Datei mit demselben Namen.
Nur Bridge-Datei Einmal in einem Projekt auffordern.
Wenn Sie die Datei versehentlich löschen, müssen Sie eine neue Bridge-Datei erstellen. Es ist das gleiche.
Gehen Sie zu File->New File->Header File
, und der Name sollte YourProjectName-Bridging-Header
sein.
Wenn Sie es manuell konfigurieren möchten, wechseln Sie einfach zu den Build-Einstellungen und ändern Sie die Auswahl in ALL unter Basic (Standard) oder Customized.
Da leere Felder ausgeblendet sind, um dem durchschnittlichen Endbenutzer die Arbeit zu erleichtern, haben Sie möglicherweise Schwierigkeiten, den Bridging-Header hinzuzufügen, wenn Sie die Aufforderung zum Hinzufügen des Bridging-Headers verpassen. Die Suchoption enthält auch keine ausgeblendeten Felder.
Change to All und der Abschnitt Swift Compiler - General sollte mit einer untergeordneten Einstellung von "Objective-C Bridging Header" angezeigt werden