it-swarm.com.de

Objective-C-Bridging-Header wird nicht mit Xcode 8 erstellt

Ich versuche, meinem Swift 3-Projekt (Xcode 8 IDE) Objective-c-Bibliotheken hinzuzufügen. Der Header der Objective C-Schnittstelle wird jedoch nicht automatisch generiert. Ich habe versucht, den Überbrückungsheader manuell hinzuzufügen, es wurde jedoch kein Verknüpfungsfehler angezeigt, der besagt, dass der Überbrückungsheader .h nicht gefunden wird. Jede Hilfe wäre dankbar :)

40
Augustine P A

Hier die Lösung für das Problem. 

  • Erstellen Sie eine neue Header-Datei und nennen Sie sie " Ihr Projektname-Bridging-Header.h ". Die Datei Muss in Ihrem Projektordner gespeichert werden
  • Wählen Sie Ihr Xcode-Projekt aus -> Wählen Sie Ihr Build-Ziel aus -> Wählen Sie Build-Einstellungen aus -> klicken Sie oben auf "Alle" -> Suchen nach Swift Compiler - Allgemein
  • Wählen Sie Objective-C Bridging Header item aus und doppelklicken Sie auf das Wertefeld (rechte Seite derselben Zeile). Ein Popup würde erscheinen und dort können Sie den Pfad Ihrer Bridging-Header-Datei eingeben (Befolgen Sie die folgenden Schritte, um den Pfad der Header-Datei anzugeben). 
  • Öffnen Sie den Finder und ziehen Sie Ihre Bridging-Header-Datei in das Popup-Fenster. Jetzt wird ein absoluter Pfad für den Bridging-Header erstellt. Um einen entsprechenden Pfad zu erstellen, können Sie den Pfad als $ (PROJECT_DIR)/$ (PROJECT_NAME)/$ (PROJECT_NAME) angeben. -Bridging-Header.h

  • Klicken Sie außerhalb, um den Wert zu speichern. Erledigt!! Jetzt können Sie Ihre Objective-C-Bibliotheken (z. B. #import "SVProgressHUD.h") in eine Bridging-Datei importieren und in Ihrem Swift-Projekt verwenden.

Hoffe, das würde jemandem helfen. :)

139
Augustine P A

Ziel C Schritte zur Erstellung der C-Header-Datei

  1. Datei -> Neu -> Datei -> Header-Datei 

  2. Benennen Sie Ihre Header-Datei folgendermaßen: yourAppName-Bridging-Header

  3. Klicken Sie nun auf Ihr Project -> Build Settings

  4. Wechsel von Basic zu All

  5. Suchen Überbrückung

  6. Sie erhalten das Suchergebnis wie in der Abbildung unten

 enter image description here

nach dem Hinzufügen

 enter image description here

  1. Klicken Sie in diesem Doppelklick rechts auf Objective-C Bridging Header und geben Sie Folgendes ein

    zB yourAppName/yourAppName-Bridging-Header.h

  2. Sie müssen wie folgt importieren

 enter image description here

  1. Das ist alles

Glückliche Kodierung :)

Hinweis:
Die Header-Datei sollte sich direkt im Projekt befinden, dh. Es sollte nicht in einem Unterordner erstellt werden

8
Ariven Nadar

Stellen Sie bei mehreren Zielen sicher, dass die Swift-Klassen Mitglieder dieses Ziels sind. Andernfalls wird die Datei nicht generiert. 
Xcode 8.3

1
Klajd Deda

Es scheint am einfachsten zu sein, einfach eine neue Objective-C-Datei zu erstellen und Xcode dafür zu sorgen, dass alle erforderlichen Einstellungen vorgenommen werden. Anschließend können Sie die Objective-C-Datei löschen.

  1. Klicken Sie mit der rechten Maustaste in den Projekt-Explorer und wählen Sie eine neue Datei
  2. Ausgewählte Objective-C-Datei
  3. Nennen Sie es delete_me oder etwas
  4. Sie werden aufgefordert, eine Bridging-Datei erstellen zu lassen und Ja zu sagen
  5. Löschen Sie die von Ihnen erstellte Datei (vielleicht delete_me.m)
0
Mr Rogers