React-native-onesignal: Fichier OneSignal/OneSignal.h introuvable

Créé le 7 janv. 2017  ·  40Commentaires  ·  Source: OneSignal/react-native-onesignal

Bonjour, le précédent numéro était fermé, j'en commence donc un nouveau.

Je suis sur RN 0.39, et j'ai fait 'react-native-link' ainsi que suivi toutes les instructions du README, mais nous n'utilisons pas de Pods, donc je n'ai pas de Podfiles à mettre à jour. Comment faire sans Podfiles ?

Toujours l'erreur ci-dessus.

Commentaire le plus utile

@eriksape Je ne sais pas ce que vous demandez, je ne mets le cadre nulle part. Je lance "yarn install" et le framework apparaît sous les modules de nœud.

Après avoir installé la v2.0.0, je vais dans node_modules/react-native-onesignal et je cherche par moi-même :

$ 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

Il n'y a vraiment aucun endroit où "OneSignal/OneSignal.h" existe. Le fichier "OneSignal.h" existe, mais pas dans un dossier appelé "OneSignal". Si nous pouvons corriger ce chemin et surmonter cette erreur de génération, mes problèmes seront résolus.

Tous les 40 commentaires

Quelqu'un a une suggestion sans Podfiles ?

en ajoutant les chemins de recherche du framework avec la valeur

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

et en ajoutant le OneSignal.framework qui est inclus dans ce package au projet sur xcode

Je cherche aussi comment je pourrais l'installer sans Pods... y a-t-il de la doc pour ça ?

@gplopes essayez ce que j'ai commenté auparavant, je l'ai fait et je n'utilise pas de pods 👍

@eriksape merci d'avoir répondu, j'ai ajouté le chemin comme vous l'avez mentionné mais je reçois toujours
#import <OneSignal/OneSignal.h> fichier introuvable.
j'utilise

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

@gplopes et ajouté le OneSignal.framework au projet ?

si vous le faisiez bien, vous verriez la lib liée

image

@eriksape , oui, voici les captures d'écran de xcode.

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

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

J'ai testé avec react-native 0.39 mais avec le "react-native-onesignal": "^1.2.3"

comme je vois que la 1.2.3 fonctionne bien avec react-native 0.36

@gplopes J'ai ajouté votre suggestion à la documentation, cela devrait résoudre le problème.
Dans tous les cas, je vous recommande à tous de passer à 3.0.0 .

Merci!

Bien sûr, si vous utilisez RN jusqu'à 0,39, veuillez utiliser la v2.

@gplopes L' avez-vous déjà fait fonctionner? J'ai le même problème, avec RN=0.39, v2.0.0 de cette bibliothèque, et j'ai suivi toutes les suggestions concernant les "Frameworks et bibliothèques liés" et les chemins de recherche.

Pouvez-vous s'il vous plaît fournir un repo que je peux tester?

J'ai essayé de reproduire cela dans un dépôt minimal et j'ai rencontré une autre erreur (#139). Peut-être que vous pouvez créer un fork de https://github.com/GeoffreyPlitt/react_native_minimal et nous montrer une version qui fonctionne ? Sinon, je le reproduirai une fois que j'aurai passé l'autre erreur.

Remarque : pas de cacaoyers.

Comme je l'ai déjà dit, sans cacaoyers avec la v1.2.3 fonctionne très bien.
Je ne sais pas pourquoi il a besoin de cocopodes

J'utiliserai la v3 après que les dépendances de mon projet puissent utiliser react-native 0.40

J'ai coupé une nouvelle branche de ce projet minimal et suis passé à la 1.2.3 de cette bibliothèque : https://github.com/GeoffreyPlitt/react_native_minimal/tree/onesignal_123

J'obtiens toujours l'erreur suivante, obtenez-vous la même erreur ou est-ce que cela fonctionne bien pour vous ?

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

Très bien avec tout le projet, pas d'erreurs, je vais en télécharger un exemple

@eriksape pouvez-vous s'il vous plaît faire un PR pour mettre à jour la documentation afin d'utiliser la bibliothèque sans CocoaPods ? Je l'apprécierai.

@avishayil Ok, j'enverrai un PR aujourd'hui ou demain, quelle version de OneSignal pour ios utilisez-vous ? semble que OneSignal.framework a des fichiers manquants, j'ai testé avec le 3.0.0 tout à l'heure.

Oui, j'ai remarqué qu'il manque des fichiers d'en-tête à OneSignal.framework, ce qui peut être la cause première de ce problème

Mise à jour : @eriksape A été assez sympa pour bifurquer, réparer et m'envoyer un PR, et cette branche fonctionne maintenant avec 1.2.3 :

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

Cependant, lorsque j'ai ensuite commencé à utiliser ce correctif, j'ai remarqué qu'aucune de mes notifications n'était en cours, le serveur signalant :

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

Et cet identifiant là-bas est exactement celui que cette bibliothèque me fournit.

J'ai demandé à l'assistance OneSignal à propos de cette erreur, et ils m'ont répondu :
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.

Aucune de ces choses n'est correcte pour moi, alors en creusant plus loin, leur soutien a déclaré :

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

Ce qui signifie : utiliser la v1.2.3 me permet de construire sur iOS, mais cela ne permet toujours pas aux notifications de fonctionner. J'attends donc avec impatience les correctifs de la version 2.0.0 (avec les fichiers d'en-tête manquants) pour continuer.

=====> Quelqu'un peut-il rouvrir ce problème ? Puisque nous avons plus de travail à faire ? Ou dois-je en créer un nouveau ?

dans votre Android/ios JS vous devez créer la configuration pour le onesignal

quelque chose comme ça est dans la doc de ce repo

@eriksape Je fais déjà Onesignal.configure() avec succès, et il m'envoie un userId qui semble correct.

mais dans le https://github.com/GeoffreyPlitt/react_native_minimal/tree/onesignal_123 je ne vous vois pas faire la configuration. De plus, comme je le sais, lorsque l'ID n'est pas valide, vous devez générer un nouvel ID.

Oh oui, désolé de vous embrouiller - j'utilisais juste ce référentiel pour résoudre les problèmes de construction, j'ai un autre projet (privé) où j'utilise vraiment ce genre de choses.

Lorsque l'ID n'est pas valide, comment générer un nouvel ID ? Veuillez garder à l'esprit que je n'ai pas enregistré cet identifiant quelque part, je n'en utilise pas un ancien. J'utilise celui qui a été généré lors du chargement de l'application le plus récent, lorsque j'ai appelé configure().

Si nécessaire, j'ajouterai l'étape de configuration à ce référentiel pour vous montrer

salut @GeoffreyPlitt , je reviens ici mais je vois que la conversation est déjà au niveau supérieur. Malheureusement, je n'ai pas eu le temps de réessayer. J'espère que vous pourriez comprendre cela.

@GeoffreyPlitt vous avez raison à propos de la 1.2.3, il n'enregistre pas le token push sur un signal, il serait préférable d'essayer avec la 2.0.0 de cette bibliothèque avec le OneSingnal.framework de cette version https://github.com/ OneSignal/OneSignal-iOS-SDK/archive/2.3.5.zip

J'espère que ça marche

Ouais les gars mêmes étapes avec la version 2.0.0
screen shot 2017-01-20 at 9 42 43 am

Désolé, j'ai testé la 1.2.3 sur un simulateur quand j'ai réalisé ce que @GeoffreyPlitt mentionne qu'il ne compile que correctement, utilisez plutôt la 2.0.0

Quel est le problème ici ? ou c'est beaucoup de problèmes ensemble dans la conversation ? Quoi qu'il en soit, voici ma solution pour le titre de ce problème:
https://github.com/geektimecoil/react-native-onesignal/issues/152#issuecomment -274124225

J'ai créé un nouveau problème, #153, ​​qui capture le travail restant pour résoudre ce problème.

@avishayil merci pour cette solution de contournement, mais je crains que cela ne me rende la mise à niveau plus difficile à l'avenir, j'espère que nous pourrons résoudre ce problème correctement afin que tout fonctionne immédiatement.

@GeoffreyPlitt où avez-vous mis le OneSignal.framework ? notez qu'avec le $(SRCROOT)/../node_modules/react-native-onesignal il doit être à l'intérieur de la route react-native-onesignal

@avishayil le problème avec le 2.0.0 est le même résolu dans la pull request avec le 3.0.0

@eriksape Je ne sais pas ce que vous demandez, je ne mets le cadre nulle part. Je lance "yarn install" et le framework apparaît sous les modules de nœud.

Après avoir installé la v2.0.0, je vais dans node_modules/react-native-onesignal et je cherche par moi-même :

$ 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

Il n'y a vraiment aucun endroit où "OneSignal/OneSignal.h" existe. Le fichier "OneSignal.h" existe, mais pas dans un dossier appelé "OneSignal". Si nous pouvons corriger ce chemin et surmonter cette erreur de génération, mes problèmes seront résolus.

le OneSignal.framework est-il le même qu'ici ?

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

@eriksape je ne sais pas ?

Voici un référentiel public minimal qui reproduit l'erreur de génération : https://github.com/GeoffreyPlitt/react_native_minimal/tree/onesignal

Un organisme a-t-il pu résoudre ce problème ? rencontrer le même problème. Réagissez 0.40.0 + OneSignal 3.0

Ok, j'ai résolu mon problème, c'est une solution temporaire. Il y a quelques liens symboliques dans OneSignal.framework .
onesignal

Lorsque nous exécutons npm install ces répertoires sont manquants. Les télécharger à partir du projet et les ajouter manuellement résout le problème . Ce n'est pas idéal, j'espère que cela permet aux gens d'économiser des heures de travail.

Merci. Cela ne nous aide pas vraiment car nos builds passent par un système CI et nous avons des scripts qui effectuent de nouvelles vérifications. Hâte de régler ça !

Hey @haxtrujillo, puis-je vous demander de clarifier un peu ? Je veux dire, d'où téléchargez-vous ces liens symboliques ? Le premier lien que vous donnez à OneSignal.framework ne les affiche pas.
Deuxièmement, vous montrez une capture d'écran mais je ne suis pas sûr, est-ce le dossier ./node_modules/react-native-onesignal ?

@kelset ,

J'ai ouvert un nouveau problème , il contient plus d'informations et comment le résoudre avec modération.

Les fichiers d'en-tête sont dans le répertoire versions, vous devez tester quelle version fonctionne pour votre projet.

Cette page vous a été utile?
0 / 5 - 0 notes