Warum zusätzliche #import in den bridging-header konnte nicht in swift?
Bevor ich Hinzugefügt eine neue Abhängigkeit zu meinem test-Projekt über CocoaPods, habe ich schon Hinzugefügt, die eine C-header-Datei ('wahoo.h') und stellte es auf den swift-code mittels einer bridging-header-Datei "wahoo-Bridging-Header.h". Die test-app konnte kompiliert werden und läuft ohne jedes problem.
Dann habe ich eine neue Abhängigkeit 'STHTTPRequest' zu meinem Projekt. Sie können die Liste der Datei hier:
Wenn ich diese Zeile Hinzugefügt:
#include <STHTTPRequest/STHTTPRequest.h>
Wird es nicht kompiliert werden, mit dieser Fehlermeldung:
Habe ich versucht ein paar alternativen, aber Sie alle gescheitert:
#include "STHTTPRequest.h"
#import "STHTTPRequest.h"
Anscheinend kann ich nicht mehr als einen bridging-header-Datei in einem Projekt. Wie kann ich dieses Problem beheben import problem?
BEARBEITEN, die ich bekommen kann, um das problem, wenn ich kopieren Sie die header-Datei von Pods
in SO1
und fügen Sie #include "SO1/STHTTPRequest.h"
zu den bridging-header. Es ist nicht eine ideale Lösung.
Wie kann ich automatisieren, das kopieren von header-Dateien? Oder alternativ, wie kann machen, header-Dateien in Pods
zugänglich SO1
?
- Funktioniert es, wenn Sie
#include "STHTTPRequest/STHTTPRequest.h"
? - Die STHTTPRequest.h ist in einem anderen Projekt im gleichen Arbeitsbereich, haben Sie versucht, den Pfad, wo die Datei im Projekt-navigator?
<Pods/Pods/STHTTPRequest/STHTTPRequest.h>
- Das würde nicht funktionieren, da die Datei-Pfade werden in
<>
- nun, das ist, was ich sehe in meinem swift Projekt - ich bin mit mehreren pods - aber es sieht aus wie Sie sind austauschbar, denn ich habe gerade versucht, anstelle
""
mit<>
und es kompiliert in beiden Fällen - Sorry, es hat nicht funktioniert
- Was ist der relative Pfad (aus dem Verzeichnis mit Ihrem Projekt) Ihrer bridging-header im finder ? Und was hast du in den build settings bei Objective-C-Bridging-Header ?
- Habe das exakt gleiche Problem, hast du das Problem beheben, indem Sie keine chance?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie sagen, Xcode, wo die header-Dateien, die Sie aufgelistet, in den bridging-header. Finden Sie die Suchpfade Abschnitt, und ändern Sie die Projekt-Ebene-Einstellung für Header Search Paths, indem ein rekursive Eintrag für das
Pods
- Verzeichnis. Es solltePods/**
jetzt.In der Bridging-Header beinhalten mit:
oder weil der rekursive Suche Pfad:
Sollten Sie die folgenden header-Suchpfad:
"${PODS_ROOT}/Headers/STHTTPRequest"
Fügte ich hinzu "Pods/Header/Public" als eine rekursive Eintrag in die build-Einstellungen für mein Projekt unter "Suche Pfade/User Header Search Paths".
Ich dann verwenden können, ist standard-import-format: - #import "AFNetworking/AFNetworking.h"
Dies funktioniert:
Wenn Ihr pod-Bibliothek in Objective-c in diesem Fall müssen Sie die import-Klasse wie diese -
@import STHTTPRequest;