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

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

Il y avait un problème déjà ouvert et fermé, mais c'est toujours un problème. Voir le numéro 133 .

Mon commentaire sur la question décrit le problème.

Réagir natif 0.40.0 OneSignal 3.0

Commentaire le plus utile

Fusionné, testé et corrigé.

Tous les 44 commentaires

Donc, en gros, cela signifie que le framework n'est pas mis à jour sur le module, si vous choisissez de ne pas utiliser CocoaPods. Ai-je raison?

Oui, je pense que c'est correct. Je n'utilise pas CocoaPods.

Je vois. Le problème actuel est que je ne trouve aucun moyen de faire reconnaître le framework par la bibliothèque s'il est en dehors de la bibliothèque, par exemple dans le groupe Frameworks sur le projet Xcode. Cela rend la bibliothèque dépendante d'une version spécifique du framework, plutôt que de l'ajouter manuellement.

Hé, j'ai trouvé un dépôt avec des indices pour vous. J'ai à nouveau fait fonctionner mon code.
https://github.com/eriksape/react-native-onesignal#faq -repeating-issues

@avishayil ,

Je ne connais pas vraiment objective-c, j'aimerais vraiment pouvoir aider à résoudre le problème.
Pourrait-il y avoir une mise à jour de la documentation pour informer les gens du problème ?

Pendant ce temps, j'ai copié le répertoire OneSignal.framework dans mon projet ios avec le bon répertoire "Header" et le fichier "OneSignal" et j'ai modifié les "Chemins de recherche de framework" pour y pointer.

Je devrai garder un œil sur les mises à jour, mais cela fonctionne pour moi pour le moment. Merci!

@haxtrujillo Se

@dguillamot assurez-vous de définir les "Chemins de recherche d'en-tête" et "Chemins de recherche d'en-tête", copiez les fichiers de la version "B" (actuelle) deux niveaux plus haut.

screen shot 2017-01-25 at 11 13 26 pm

Je me demande toujours comment le résoudre sans cette façon "laide". @jkasten2 pouvez-vous aider ici ?

J'ai le même problème, plus React/<...>.h introuvable.
screen shot 2017-01-26 at 2 31 54 pm

screen shot 2017-01-26 at 7 37 18 pm

J'ai également le même problème avec React-Native 0.4.0,

Après avoir installé un plugin (react-native-firestack), cela se produit soudainement.

@rustykey @bitsal

J'ai dû faire 2 choses distinctes pour que cela fonctionne:

0 - J'ai créé un sous-dossier dans mon dossier de projet principal (où se trouve le fichier d'espace de travail xcode) appelé /ios/OneSignal

1 - Ensuite, similaire à ce que haxtrujillo a dit ci-dessus, dans le dossier node_modules/react-native-onesignal/ios/Frameworks, vous pouvez double-cliquer/développer le fichier OneSignal.framework. A l'intérieur se trouve un sous-dossier Versions/B. Sélectionnez les fichiers « En-têtes » et « OneSignal », copiez (CMD-C), puis sélectionnez à nouveau le « fichier » OneSignal.framework et collez-le.

Ensuite, j'ai copié ce nouveau fichier OneSignal.framework dans le dossier /ios/OneSignal que j'ai créé ci-dessus à l'étape 0.

2 - Ensuite, j'ai copié le fichier node_modules/react-native-onesignal/ios/RCTOneSignal.xcodeproj et le dossier RCTOneSignal dans le dossier ios/OneSignal que j'ai créé à l'étape 0.

Ensuite, dans Xcode, j'ai ajouté le fichier OneSignal.Framework dans le dossier Frameworks de mon espace de travail xcode, et j'ai ajouté le RCTOneSignal.xcodeproj au dossier Libraries. Ensuite, j'ai sélectionné le fichier xcodeproj dans mon dossier Bibliothèques dans xcode. En vérifiant que la cible était RCTOneSignal, je suis allé dans BuildSettings et j'ai modifié les chemins de recherche du framework pour qu'ils soient '$(PROJECT_DIR)/OneSignal' .. De cette façon, il pourrait trouver le nouveau OneSignal.framework que j'ai créé. J'ai également modifié les chemins de recherche d'en-tête dans la même zone de paramètres de construction pour m'assurer qu'il récupère React. Dans mon cas, il était plus simple de le faire par rapport à PROJECT_DIR en tant que '$(PROJECT_DIR)/../node_modules/react-native/React'

Après ces changements, tout est maintenant dans mon dossier ios/OneSignal et je n'ai pas vraiment besoin du dossier node_modules. Je l'utilise toujours, pour Android. Mais si vous utilisez uniquement ios, vous n'avez pas besoin du dossier node_module car cette solution de contournement a essentiellement fait une copie locale.

Ce n'est certainement pas une bonne solution à long terme et devrait être annulée une fois que l'auteur a mis à jour ce paquet. Il s'agit simplement de raccourcir le module de nœud en copiant le projet afin que vous puissiez modifier les paramètres de construction. Une fois le module de nœud modifié pour résoudre ce problème, ces modifications doivent être annulées.

Merci @dguillamot !

Je l'ai fait d'une manière un peu différente mais le sens est le même je suppose
package.json :

"scripts": {
     ...
    "fix-onesignal-ios-issue-161": "cd node_modules/react-native-onesignal/ios/Frameworks/OneSignal.framework && cp -R Versions/B/* . && cd ../../../../..",
    "run-ios": "npm run fix-onesignal-ios-issue-161 && echo '.env.local' > /tmp/envfile && react-native run-ios",
     ...
}

PS :
@avishayil
J'ai remarqué dans les chemins de recherche d'en-tête du projet RCTOneSignal une ligne comme celle-ci "$(SRCROOT)/../../../ios/Pods/Headers/Public/OneSignal" .
Il semble que la bibliothèque m'oblige à avoir des dossiers node_modules et ios au même niveau. Dans certains cas (lorsque la structure du projet est un peu différente), cela ne fonctionnera pas car il n'y a pas de dossier $(SRCROOT)/../../../ios .

PS 2:
De plus, j'ai eu un problème comme React/RCT<...>.h file not found . J'ai corrigé en construisant d'abord React à partir du XCode (voir https://github.com/facebook/react-native/issues/12042#issuecomment-275025960).

react-native run-ios ne fonctionne pas encore (, uniquement à partir de XCode.

Il n'y a pas eu Versions/B dossier 2.1.5 du SDK natif iOS OneSignal. Pouvez-vous vérifier que vous utilisez le dernier OneSignal.framework ? Actuellement, 2.3.5 est ce dernier.

@jkasten2 à droite, version 2.3.5 maintenant
Je suis sûr parce que je cours plusieurs fois

rm -rf node_modules/react*
rm -rf ios/build/* && rm -rf ios/Pods/*
rm -rf ~/Library/Developer/Xcode/DerivedData/*

D'AILLEURS,

react-native-cli: 2.0.1
react-native: 0.40.0

Fichier Pod :

pod 'OneSignal', '~> 2.0'

mais en fait, il installe 2.3.5 , je le vois dans la sortie de la console

@jkasten2 ,
J'utilise React Native 0.40.0, OneSignal 3.0 et aucun CocoaPods.

@jkasten2
Vous avez raison. Il n'y a pas Versions/B dossier ios/Pods/OneSignal/iOS_SDK/Framework/OneSignal.framework/Versions/ :

Current -> A

mais Versions/B est toujours là node_modules/react-native-onesignal/ios/Frameworks/OneSignal.framework/Versions/

package.json
"react-native-onesignal": "3.0.0",

Le problème semble manquer de liens symboliques dans la balise de version 3.0.0.

@avishayil J'ai remarqué que la balise v3.0.0 les manquait mais que le maître les avait.
https://github.com/geektimecoil/react-native-onesignal/tree/v3.0.0/ios/Frameworks/OneSignal.framework
https://github.com/geektimecoil/react-native-onesignal/tree/master/ios/Frameworks/OneSignal.framework

Le référentiel natif du SDK iOS contient également des liens symboliques ici.
https://github.com/OneSignal/OneSignal-iOS-SDK/tree/2.3.5/iOS_SDK/Framework/OneSignal.framework

Pouvez-vous publier une mise à jour avec ces fichiers manquants ?

@jkasten2 Voilà, dans ce projet de la branche examples :
https://github.com/geektimecoil/react-native-onesignal/tree/examples/examples/RNOneSignalFramework

Essayez de construire ce projet, il dit qu'il manque les fichiers d'en-tête.

@avishayil J'ai fait un nouveau clone et j'ai suivi les instructions ci-dessous, mais je n'ai pas rencontré .h problème
https://github.com/geektimecoil/react-native-onesignal#running-example-project

Remarque : Les instructions doivent être cd OneSignalRN au lieu de cd OneSignalRNExample .

Exécuté le projet à partir du terminal selon les instructions notées et construit à partir de Xcode directement en ouvrant le fichier RNOneSignal.xcworkspace .

Salut @jkasten2 , pas de problème lors de la construction d'un projet avec CocoaPods. Le problème est lorsque vous essayez de construire un projet avec le framework sans CocoaPods.

Je l'ai déjà mentionné, pardonnez-moi s'il s'agit d'un doublon mais : l'un des problèmes est que le fichier d'en-tête OneSignal.h EST dans le référentiel, mais ils ne se trouvent pas dans un dossier appelé "OneSignal", ce qui est leur cas référencé.

@avishayil est toujours le problème sans cacao ?, désolé de ne pas l'avoir remarqué, laissez-moi voir les gars et je vais vous le faire savoir :)

@eriksape ouais

@avishayil Je ne sais pas ce qui se passe, ma méthode d'insertion est toujours correcte, car je vois les cabosses de cacao faire la même chose mais automatiquement et télécharger de nombreux packages avec la dernière version de OneSignal-iOS-SDK comme l'a dit @jkasten2 est la 2.3.5, savez-vous rétrograder la version du sdk maintenant ?

Les gars, j'ai le problème d'en-tête lors de l'utilisation de la v2 et des Cocoapods :/ Une astuce sur pourquoi ? Dois-je créer un numéro dédié ?

Je vais jeter un oeil sur la v2 cette semaine.

Je suis sur RN40 et OneSignal3.0, j'utilise le Framework et j'obtiens toujours "OneSignal/OneSignal.h introuvable". Mes chemins d'en-tête / framework sont correctement définis, la bibliothèque a été liée avec un lien natif de réaction, je ne vois donc aucun problème concernant la configuration.

J'ai eu la même chose avec Cocoapods.

J'avais cette erreur pour la v3.0.0 et je réagissais en natif 0.41. Je l'ai construit en exécutant la commande react-native link.

Correction : toujours une erreur de compilation :(

Utilisez-vous CocoaPods ?

@avishayil Non, je n'utilise pas Cocoapods et je ne l'utiliserai pas. Je viens de recevoir vos dernières modifications dans la 3.0.2 et elle n'est toujours pas en cours de construction. Des mises à jour sur la résolution de cela?

@larryranches C'est toujours quelque chose que je regarde aux côtés de l'équipe de OneSignal. @ jkasten2 et je

@avishayil Merci d'avoir examiné cela ! Ce serait bien que cela fonctionne car nous devons passer à la dernière version de React Native 0.41. S'il vous plaît laissez-nous savoir une fois qu'il y a un correctif.

Même problème lors de l'exécution avec Xcode. L'application commence par node node_modules/react-native/local-cli/cli.js run-ios mais a planté car RNOneSignal est undefined .

@avishayil J'ai essayé d'utiliser Coca et le Framework, même résultat.

@edo1493 pouvez-vous partager un dépôt avec l'erreur reproduite ?

Cette pull-request a fonctionné pour moi ️ :
https://github.com/geektimecoil/react-native-onesignal/pull/184

Intéressant, comment l'avez-vous construit ? De zéro ou vers un projet existant ?

@avishayil dans un projet existant (avec le problème décrit ici) et a suivi le README mis à jour sur https://github.com/jkasten2/react-native-onesignal.
(Dû supprimer Podfile et les fichiers associés)

PR #184 fonctionne pour moi aussi

Fusionné, testé et corrigé.

j'ai fait tout ce qu'il n'a toujours pas trouvé :(

J'ai aussi cette erreur avec Cacaopodes ... RN 0.50 et react-native-onesignal ^3.0.5

quelqu'un a corrigé ce bug ? je suis face à la RN 0.51 et je réagis-native-onesignal ^3.0.5

La réinstallation d'un signal à partir de zéro m'a aidé à résoudre ce problème.

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