React-native-onesignal: OneSignal/OneSignal.h-Datei nicht gefunden

Erstellt am 7. Jan. 2017  ·  40Kommentare  ·  Quelle: OneSignal/react-native-onesignal

Hallo - die vorherige Ausgabe dafür wurde geschlossen, daher starte ich eine neue.

Ich bin auf RN 0.39 und habe 'react-native-link' gemacht sowie jede Anweisung aus der README befolgt, aber wir verwenden keine Pods, daher habe ich keine Podfiles zum Aktualisieren. Wie mache ich das ohne Podfiles?

Bekomme immer noch den obigen Fehler.

Hilfreichster Kommentar

@eriksape Ich bin mir nicht sicher, was Sie fragen, ich stelle das Framework nirgendwo hin. Ich führe "yarn install" aus und das Framework wird unter Knotenmodulen angezeigt.

Nach der Installation von v2.0.0 gehe ich in node_modules/react-native-onesignal und suche selbst:

$ find . | grep OneSignal.h
./ios/Frameworks/OneSignal.framework/Versions/A/Headers/OneSignal.h
./ios/Frameworks/OneSignal.framework/Versions/B/Headers/OneSignal.h
./ios/RCTOneSignal/RCTOneSignal.h

Es gibt wirklich keinen Ort, an dem "OneSignal/OneSignal.h" existiert. Die Datei "OneSignal.h" existiert, aber nicht in einem Ordner namens "OneSignal". Wenn wir diesen Pfad beheben und diesen Build-Fehler überwinden können, werden meine Probleme gelöst.

Alle 40 Kommentare

Hat jemand einen Vorschlag ohne Podfiles?

Hinzufügen der Framework-Suchpfade mit dem Wert

$(SRCROOT)/../node_modules/react-native-onesignal

und das Hinzufügen des OneSignal.framework, das in diesem Paket enthalten ist, zum Projekt auf xcode

Ich suche auch, wie ich es ohne Pods installieren könnte ... gibt es eine Dokumentation dafür?

@gplopes versuche, was ich zuvor kommentiert habe, das habe ich getan und ich benutze keine Pods 👍

@eriksape danke für die Antwort, ich habe den Pfad wie erwähnt hinzugefügt, aber ich bekomme immer noch
#import <OneSignal/OneSignal.h> Datei nicht gefunden.
Ich benutze

"reaktiv-nativ": "0.36.1",
"react-native-onesignal": "2.0.0",

@gplopes und das OneSignal.framework zum Projekt hinzugefügt?

wenn du es gut gemacht hast, würdest du die verlinkte lib sehen

image

@eriksape , ja, hier sind die Screenshots von xcode.

screen shot 2017-01-16 at 2 54 17 pm

screen shot 2017-01-16 at 2 53 26 pm

Getestet habe ich mit React-native 0.39 aber mit dem "react-native-onesignal": "^1.2.3"

wie ich sehe funktioniert die 1.2.3 mit reaktiven 0.36

@gplopes Ich habe Ihren Vorschlag zu den Dokumenten hinzugefügt, er sollte das Problem lösen.
Auf jeden Fall empfehle ich euch allen, auf 3.0.0 zu aktualisieren.

Vielen Dank!

Wenn Sie RN bis 0,39 verwenden, verwenden Sie natürlich v2.

@gplopes Hast du es jemals zum

Können Sie bitte ein Repo bereitstellen, das ich testen kann?

Ich habe versucht, dies in einem minimalen Repo zu reproduzieren, und bin auf einen anderen Fehler gestoßen (#139). Vielleicht kannst du einen Fork von https://github.com/GeoffreyPlitt/react_native_minimal erstellen und uns eine funktionierende Version zeigen? Wenn nicht, werde ich dies reproduzieren, sobald ich den anderen Fehler überwunden habe.

Hinweis: Keine Kakaofrüchte.

Wie ich schon sagte, ohne Kakaobohnen mit v1.2.3 funktioniert gut.
Ich weiß nicht, warum es Kakaoschoten braucht

Ich werde v3 verwenden, nachdem Abhängigkeiten in meinem Projekt reaktive 0.40 verwenden können

Ich habe einen neuen Zweig dieses minimalen Projekts geschnitten und auf 1.2.3 dieser Bibliothek gewechselt: https://github.com/GeoffreyPlitt/react_native_minimal/tree/onesignal_123

Ich erhalte immer noch die folgende Fehlermeldung, erhalten Sie die gleiche Fehlermeldung oder läuft es bei Ihnen einwandfrei?

In file included from /Users/giro/react_native_minimal/ios/react_native_minimal/AppDelegate.m:10:
In file included from /Users/giro/react_native_minimal/ios/react_native_minimal/AppDelegate.h:11:
../node_modules/react-native-onesignal/ios/RCTOneSignal/RCTOneSignal.h:3:9: fatal error: 'OneSignal/OneSignal.h' file not found
#import <OneSignal/OneSignal.h>
        ^

screen shot 2017-01-18 at 22 25 45
screen shot 2017-01-18 at 22 25 36

Alles in Ordnung mit dem ganzen Projekt, keine Fehler, ich werde ein Beispiel dafür hochladen

@eriksape können Sie bitte eine PR für die Aktualisierung der Dokumente erstellen, um die Bibliothek ohne CocoaPods zu verwenden? Ich werde es schätzen.

@avishayil Ok, ich schicke heute oder morgen eine PR. Welche Version von OneSignal für iOS verwenden Sie? scheint, dass OneSignal.framework fehlende Dateien hat, habe ich gerade mit der 3.0.0 getestet.

Ja, ich habe bemerkt, dass OneSignal.framework Header-Dateien fehlen, was die Hauptursache für dieses Problem sein kann

Update: @eriksape War nett genug, um mir eine PR zu geben, zu reparieren und zu senden, und dieser Zweig funktioniert jetzt mit 1.2.3:

https://github.com/GeoffreyPlitt/react_native_minimal/tree/onesignal_123

Als ich dann jedoch anfing, diesen Fix zu verwenden, bemerkte ich, dass keine meiner Benachrichtigungen durchging, wobei der Server meldete:

Error: {"invalid_player_ids":["2ebaf054-acce-4ed6-b927-86fffd9d9c30"]}

Und diese ID dort ist genau die, die diese Bibliothek für mich bereitstellt.

Ich habe den OneSignal-Support nach diesem Fehler gefragt und sie sagten:
This means that the device with this ID is not subscribed to notifications, either because it opted-out of notifications or has uninstalled your app.

Keines dieser Dinge ist für mich richtig, also sagte ihre Unterstützung weiter:

I see you are using a very old version of our SDK. Please update to our latest 2.X SDK to fix the subscription issue. https://documentation.onesignal.com/docs/upgrading-to-ios-sdk-20

Das bedeutet: Mit v1.2.3 kann ich auf iOS bauen , aber Benachrichtigungen funktionieren immer noch nicht. Ich warte also gespannt auf die v2.0.0-Build-Fixes (mit den fehlenden Header-Dateien), um fortzufahren.

=====> Kann jemand dieses Problem erneut öffnen? Da wir mehr zu tun haben? Oder soll ich einen neuen erstellen?

in Ihrem Android/ios JS müssen Sie die Konfiguration für das Onesignal erstellen

sowas steht in den docs dieses repo

@eriksape Ich mache Onesignal.configure() bereits erfolgreich und es sendet mir eine UserId, die richtig erscheint.

aber in https://github.com/GeoffreyPlitt/react_native_minimal/tree/onesignal_123 kann ich nicht sehen, dass du die Konfiguration machst. Außerdem müssen Sie, wie ich weiß, wenn die ID ungültig ist, eine neue ID generieren.

Oh ja, es tut mir leid, Sie zu verwirren - ich habe dieses Repo nur verwendet, um Build-Probleme zu beheben, ich habe ein anderes (privates) Projekt, in dem ich dieses Zeug wirklich verwende.

Wie generieren Sie eine neue ID, wenn die ID ungültig ist? Bitte beachten Sie, dass ich diese ID nirgendwo gespeichert habe, ich verwende keine alte. Ich verwende diejenige, die beim letzten Laden der App generiert wurde, als ich configure() aufrief.

Bei Bedarf füge ich diesem Repository den Konfigurationsschritt hinzu, um es Ihnen zu zeigen

hey @GeoffreyPlitt , ich

@GeoffreyPlitt Sie haben Recht mit 1.2.3, es registriert den Token-Push nicht auf ein Signal, es wäre besser, es mit 2.0.0 dieser Lib mit dem OneSingnal.framework dieser Version https://github.com/ zu versuchen

ich hoffe es klappt

Ja Leute, gleiche Schritte mit Version 2.0.0
screen shot 2017-01-20 at 9 42 43 am

Entschuldigung, ich habe 1.2.3 auf einem Simulator getestet, als mir klar wurde, was @GeoffreyPlitt erwähnt hat, dass es nur OK kompiliert, verwenden Sie stattdessen 2.0.0

Was ist hier das Problem? oder sind es viele Themen im Gespräch? Wie auch immer, hier ist meine Lösung für den Titel dieses Problems:
https://github.com/geektimecoil/react-native-onesignal/issues/152#issuecomment -274124225

Ich habe ein neues Problem, #153, ​​erstellt, das die noch verbleibende Arbeit erfasst, um dieses Problem zu beheben.

@avishayil danke für diese sofort einsatzbereit ist .

@GeoffreyPlitt wo hast du das OneSignal.framework abgelegt? Beachten Sie, dass es mit $(SRCROOT)/../node_modules/react-native-onesignal innerhalb der React-Native-One-Signal-Route sein muss

@avishayil das Problem mit der 2.0.0 ist das gleiche im Pull-Request mit der 3.0.0 gelöst

@eriksape Ich bin mir nicht sicher, was Sie fragen, ich stelle das Framework nirgendwo hin. Ich führe "yarn install" aus und das Framework wird unter Knotenmodulen angezeigt.

Nach der Installation von v2.0.0 gehe ich in node_modules/react-native-onesignal und suche selbst:

$ find . | grep OneSignal.h
./ios/Frameworks/OneSignal.framework/Versions/A/Headers/OneSignal.h
./ios/Frameworks/OneSignal.framework/Versions/B/Headers/OneSignal.h
./ios/RCTOneSignal/RCTOneSignal.h

Es gibt wirklich keinen Ort, an dem "OneSignal/OneSignal.h" existiert. Die Datei "OneSignal.h" existiert, aber nicht in einem Ordner namens "OneSignal". Wenn wir diesen Pfad beheben und diesen Build-Fehler überwinden können, werden meine Probleme gelöst.

ist das OneSignal.framework das gleiche wie hier?

https://github.com/OneSignal/OneSignal-iOS-SDK/archive/2.3.5.zip

@eriksape Ich weiß es nicht?

Hier ist ein öffentliches, minimales Repo, das den Build-Fehler reproduziert: https://github.com/GeoffreyPlitt/react_native_minimal/tree/onesignal

Hat jemand dieses Problem lösen können? läuft auf das gleiche Problem. Reagieren 0.40.0 + OneSignal 3.0

Ok, ich habe mein Problem gelöst, dies ist eine vorübergehende Lösung. Es gibt einige symbolische Links in OneSignal.framework .
onesignal

Wenn wir npm install ausführen, fehlen diese Verzeichnisse. Das Herunterladen aus dem Projekt und das manuelle Hinzufügen behebt das Problem . Dies ist nicht ideal, hoffe, dies spart den Menschen Stunden an Arbeit.

Vielen Dank. Es hilft uns nicht wirklich, weil unsere Builds ein CI-System durchlaufen und wir Skripte haben, die neue Check-outs durchführen. Aufgeregt, das behoben zu bekommen!

Hey @haxtrujillo darf ich dich um etwas Klarstellung bitten? Ich meine, woher lädst du diese symbolischen Links herunter? Der erste Link, den Sie zu OneSignal.framework geben, zeigt sie nicht an.
Zweitens zeigen Sie einen Screenshot, aber ich bin mir nicht sicher, ist das der Ordner ./node_modules/react-native-onesignal ?

@kelset ,

Ich habe ein neues Problem eröffnet , es hat mehr Informationen und wie man es gemäßigt löst.

Die Header-Dateien befinden sich im Versionen-Verzeichnis, Sie müssen testen, welche Version für Ihr Projekt funktioniert.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen