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.
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
@eriksape , ja, hier sind die Screenshots von xcode.
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>
^
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
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 .
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.
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:
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.