wake-up-neo.net

Die schnelle Header-Datei des Bridging funktioniert nicht mit use_frameworks

Ich versuche, die GoogleidentityToolkit-Bibliothek zu verwenden, um Login und andere Dinge zu erledigen. Ich aktiviere use_frameworks! in meiner Pod-Datei, aber das Modul GITkit kann nicht gefunden werden. Ich versuche herauszufinden, was los ist. Soweit ich weiß, wenn Sie "use_frameworks" verwenden, müssen Sie keine Bridging-Header-Datei erstellen, da cocoapods die Bibliothek in ein einziges Modul herunterkompiliert, sodass Sie später wie gewohnt Ihre * .Swift-Dateien importieren können.

Was brauche ich, um die Google Identity Toolkit-Bibliothek in Swift zu nutzen?


Diese Frage wurde eine Woche nach der Veröffentlichung von CocoaPods 1.0.0 (zu einer Zeit, zu der CocoaPods 0.39.0 noch populär war) und der verfügbaren Version von Google Identity Toolkit war 1.1.3 von 2015 gestellt, wurde aber abgelehnt zugunsten der Firebase-Authentifizierung (pod 'FirebaseUI/Auth') nach Google I/O 2016.

11
AXSM

A) Erstellen Sie eine Bridging-Header-Datei mit dem Namen "ProjectName-Bridging-Header.h" im Stammordner Ihres Projekts.

B) Gehen Sie zu den Einstellungen für das Projektaufbau und legen Sie die folgenden Werte fest:

  • "Installieren Sie den object-c-Kompatibilitätsheader":YES
  • "Objective-C Bridging-Header": Pfad des Bridging-Headers (z. B. "ProjectName/ProjectName-Bridging-Header.h")

Danach können Sie die Header-Datei verwenden, um alle ObjectiveC-Dateien zu importieren, die Sie innerhalb von Swift-Code verwenden möchten.

NOTE: Legen Sie den Pfad bei Bedarf als rekursiv fest, sowohl in den Ressourcenköpfen als auch im Suchbereich des Swift-Compilers.

26
Pavan Gandhi

Keine der obigen Antworten funktionierte für mich oder war nicht präzise genug. In Xcode 10.0 (Swift 4.2) funktionierte diese Lösung für mich: 

1. Erstellen Sie eine neue Header-Datei im Stammverzeichnis Ihres Projekts. Ich bin nicht sicher, ob der Name der Datei tatsächlich von Bedeutung ist, aber die automatisch generierten Bridging-Header-Dateien von Apple haben den Namen "ProjectName-Bridging-Header.h".

2. Fügen Sie der neu erstellten Datei alle erforderlichen Importe hinzu. 

3. Klicken Sie im Projektnavigator auf den Namen Ihres Projekts.

4. Wählen Sie in der obersten Leiste "Build-Einstellungen" und in der etwas niedrigeren Zeile Alle und Kombiniert

 enter image description here

5. Suchen Sie in der oberen rechten Ecke nach "Swift Compiler"

6. Suchen Sie die Registerkarte "Swift Compiler-Allgemein", erweitern Sie sie und doppelklicken Sie auf die rechte Seite von "Objective-C Bridging Header".

 enter image description here

7. Jetzt müssen Sie nur noch die erstellte Bridging-Header-Datei in das Popup-Fenster ziehen und die Eingabetaste drücken. Du bist fertig!

* Denken Sie daran, dass Sie den Pfad zu Ihrem Bridging-Header jedes Mal aktualisieren müssen, wenn Sie den direkten Pfad des Projekts ändern 

8
Bartosz Kunat
  1. Fügen Sie eine neue Datei zu Xcode hinzu (Datei> Neu> Datei), wählen Sie dann „Quelle“ und klicken Sie auf „Header-Datei“.
  2. Benennen Sie Ihre Datei "YourProjectName-Bridging-Header.h". 
  3. Erstellen Sie die Datei.
  4. Navigieren Sie zu den Einstellungen Ihres Projekts, und suchen Sie nach dem Abschnitt "Swift Compiler - Code Generation". Möglicherweise finden Sie es schneller, "Swift Compiler" in das Suchfeld einzugeben, um die Ergebnisse einzugrenzen. Hinweis: Wenn Sie noch keinen Abschnitt "Swift Compiler - Code-Generierung" haben, bedeutet dies, dass Sie wahrscheinlich noch keine Swift-Klassen zu Ihrem Projekt hinzugefügt haben. Fügen Sie eine Swift-Datei hinzu und versuchen Sie es erneut.
  5. Neben "Objective-C Bridging Header" müssen Sie den Namen/Pfad Ihrer Header-Datei angeben. Wenn sich Ihre Datei im Stammordner Ihres Projekts befindet, geben Sie einfach den Namen der Header-Datei an. Beispiele: "ProjectName/ProjectName-Bridging-Header.h" oder einfach "ProjectName-Bridging-Header.h". Oder ziehen Sie einfach die Bridging-Header-Datei aus dem Finder in dieses leere Feld. Dadurch wird automatisch der Pfad der Bridging-Header-Datei hinzugefügt.
  6. Öffnen Sie den neu erstellten Bridging-Header und importieren Sie Ihre Objective-C-Klassen mithilfe von #import-Anweisungen. Auf jede in dieser Datei aufgelistete Klasse kann von Ihren Swift-Klassen aus zugegriffen werden.
4
MS_iOS

Der einfachste Weg, den ich gefunden habe, ist das Erstellen einer falschen .Swift-Datei in XCode. Daraufhin wird die Aufforderung zum automatischen Erstellen eines Überbrückungskopfs angezeigt.

  1. Datei > Neu > Datei ...
  2. Wählen Sie für den Dateityp Swift.
  3. Erlauben Sie Xcode, den Swift Bridging Header manuell zu erstellen.
  4. Löschen Sie die .Swift-Datei, die Sie ursprünglich erstellt haben.
4
Mapsy

Swift 4 und Xcode 9.3

  1. Erstellen Sie eine Bridging-Header-Datei:

    • Xcode> Datei/Neu .../Datei> Header-Datei
    • Benennen Sie die Datei "ProjectName-bridging-header.h".
    • Speichern Sie im Stammverzeichnis Ihres Projektordners
  2. Xcode> Gehe zu Build-Einstellungen (Wählen Sie im Projekt-Explorer das oberste Element aus, sollte Ihr Projektname sein, und wählen Sie im rechten Bereich das Thema "Build-Einstellungen".)

    • Stellen Sie sicher, dass unter "Build Setting" "All" und "Combined" ausgewählt ist
    • Geben Sie im Suchfeld "Swift-Compiler" ein und suchen Sie den Eintrag "Objective-C Bridging Header"
    • Reduzieren Sie es und doppelklicken Sie rechts neben ihm, um es zu bearbeiten
    • Geben Sie den Dateinamen von 1 oben ein -> " ProjectName / ProjectName-bridging-header.h" (beachten Sie den Ordnerpfad, wenn die Bridging-Datei im Projektordner gespeichert ist).
  3. Fügen Sie die benötigten #imports hinzu

2
Matt

Erstellen Sie zunächst eine Briding-Header-Datei mit dem Namen "projectname-bridging-header.h" auf der Ebene Ihres Projektstamms.

Legen Sie nun in den Build-Einstellungen den Pfad der Bridging-Header-Datei und den Objc-Kompatibilitäts-Header fest.

Wenn Sie fertig sind, reinigen und erstellen Sie Ihr Projekt.

0
Lotus Shah