React-native-onesignal: No se encontró el archivo OneSignal / OneSignal.h

Creado en 7 ene. 2017  ·  40Comentarios  ·  Fuente: OneSignal/react-native-onesignal

Hola, el problema anterior se cerró, así que estoy comenzando uno nuevo.

Estoy en RN 0.39, e hice 'react-native-link' además de seguir todas las instrucciones del README, pero no usamos Pods, por lo que no tengo ningún Podfiles para actualizar. ¿Cómo hago esto sin Podfiles?

Sigo recibiendo el error anterior.

Comentario más útil

@eriksape No estoy seguro de lo que estás preguntando, no voy a poner el marco en ninguna parte. Ejecuto "instalación de hilo" y el marco aparece debajo de los módulos de nodo.

Después de instalar v2.0.0, entro en node_modules / react-native-onesignal y me busco a mí mismo:

$ 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

Realmente no hay ningún lugar donde exista "OneSignal / OneSignal.h". El archivo "OneSignal.h" existe, pero no en una carpeta llamada "OneSignal". Si podemos arreglar esta ruta y superar este error de compilación, mis problemas se resolverán.

Todos 40 comentarios

¿Alguien tiene una sugerencia sin Podfiles?

agregando las rutas de búsqueda del marco con el valor

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

y agregando el OneSignal.framework que se incluye en este paquete al proyecto en xcode

También estoy buscando cómo podría instalarlo sin Pods ... ¿hay algún documento para ello?

@gplopes prueba lo que comenté antes, hice eso y no uso pods 👍

@eriksape gracias por responder, agregué la ruta como mencionaste pero sigo recibiendo
#import <OneSignal/OneSignal.h> archivo no encontrado.
Estoy usando

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

@gplopes y agregó el OneSignal.framework al proyecto?

si lo hicieras bien, verías la biblioteca vinculada

image

@eriksape , sí, aquí están las capturas de pantalla de xcode.

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

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

Probé con react-native 0.39 pero con "react-native-onesignal": "^ 1.2.3"

como veo, el 1.2.3 funciona bien con react-native 0.36

@gplopes Agregué su sugerencia a los documentos, debería resolver el problema.
En cualquier caso, les recomiendo a todos ustedes que actualicen a 3.0.0 .

¡Gracias!

Por supuesto, si usa RN hasta 0.39, use v2.

@gplopes ¿Alguna vez lo hiciste funcionar? Tengo el mismo problema, con RN = 0.39, v2.0.0 de esta biblioteca, y he seguido todas las sugerencias sobre "Marcos y bibliotecas vinculados" y rutas de búsqueda.

¿Puede proporcionar un repositorio que pueda probar?

Intenté reproducir esto en un repositorio mínimo y encontré otro error (# 139). ¿Quizás puedas crear una bifurcación de https://github.com/GeoffreyPlitt/react_native_minimal y mostrarnos una versión que funcione? Si no, lo reproduciré una vez que supere el otro error.

Nota: Sin cocoapods.

Como dije antes, sin cocoapods con v1.2.3 funciona bien.
No se porque necesita cocoapods

Usaré v3 después de que las dependencias en mi proyecto puedan usar react-native 0.40

Corté una nueva rama de ese proyecto mínimo y cambié a 1.2.3 de esta biblioteca: https://github.com/GeoffreyPlitt/react_native_minimal/tree/onesignal_123

Sigo recibiendo el siguiente error, ¿obtiene el mismo error o funciona bien para usted?

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

Muy bien con todo el proyecto, sin errores, subiré un ejemplo

@eriksape , ¿puede hacer un PR para actualizar los documentos para usar la biblioteca sin CocoaPods? Te lo agradeceré.

@avishayil Ok, enviaré un PR hoy o mañana, ¿qué versión de OneSignal para ios estás usando? Parece que a OneSignal.framework le faltan archivos, lo probé con el 3.0.0 hace un momento.

Sí, noté que a OneSignal.framework le faltan archivos de encabezado, lo que puede ser la causa raíz de este problema

Actualización: @eriksape Fue lo suficientemente bueno como para bifurcar, arreglar y enviarme un PR, y esta rama ahora funciona con 1.2.3:

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

Sin embargo, cuando comencé a usar esta solución, noté que ninguna de mis notificaciones se estaba procesando, y el servidor informaba:

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

Y esa identificación es la exacta que esta biblioteca me proporciona.

Le pregunté al soporte de OneSignal sobre este error y dijeron:
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.

Ninguna de estas cosas es correcta para mí, así que profundizando más, su apoyo dijo:

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

Lo que significa: usar v1.2.3 me permite compilar en iOS, pero aún no permite que funcionen las notificaciones. Así que estoy ansioso por esperar las correcciones de la compilación v2.0.0 (con los archivos de encabezado que faltan) para continuar.

=====> ¿Alguien puede volver a abrir este problema? ¿Ya que tenemos más trabajo por hacer? ¿O debería crear uno nuevo?

en su Android / ios JS necesita crear la configuración para la señal única

algo así está en los documentos de este repositorio

@eriksape Ya estoy haciendo Onesignal.configure () con éxito, y me está enviando un ID de usuario que parece correcto.

pero en https://github.com/GeoffreyPlitt/react_native_minimal/tree/onesignal_123 no puedo verte haciendo la configuración. Además, como sé, cuando la identificación no es válida, debe generar una nueva identificación.

Oh, sí, siento confundirte, solo estaba usando ese repositorio para solucionar problemas de compilación, tengo otro proyecto (privado) en el que realmente estoy usando estas cosas.

Cuando la identificación no es válida, ¿cómo se genera una nueva identificación? Tenga en cuenta que no guardé esta identificación en algún lugar, no estoy usando una antigua. Estoy usando el que se generó en la carga de la aplicación más reciente, cuando llamé a configure ().

Si es necesario, agregaré el paso de configuración a ese repositorio para mostrarle

Hola @GeoffreyPlitt , estoy saltando aquí pero veo que la conversación ya está en el siguiente nivel. Lamentablemente no tuve tiempo de volver a intentarlo. Espero que puedan resolver esto.

@GeoffreyPlitt tiene razón sobre 1.2.3, no registra el empuje del token a una señal, sería mejor intentarlo con 2.0.0 de esta biblioteca con OneSingnal.framework de esta versión https://github.com/ OneSignal / OneSignal-iOS-SDK / archive / 2.3.5.zip

espero que funcione

Sí, chicos, los mismos pasos con la versión 2.0.0
screen shot 2017-01-20 at 9 42 43 am

Lo siento, probé el 1.2.3 en un simulador cuando me di cuenta de lo que @GeoffreyPlitt menciona que solo se compila bien, use 2.0.0 en su lugar

¿Cuál es el problema aquí? ¿O hay muchos problemas juntos en la conversación? De todos modos, aquí está mi solución para el título de este problema:
https://github.com/geektimecoil/react-native-onesignal/issues/152#issuecomment -274124225

Creé un nuevo problema, el # 153, que captura el trabajo que queda para solucionarlo.

@avishayil gracias por esa solución, pero me preocupa que esto me dificulte la actualización en el futuro, espero que podamos solucionar esto correctamente para que todo funcione de inmediato.

@GeoffreyPlitt ¿dónde pusiste el marco OneSignal.? observe que con $(SRCROOT)/../node_modules/react-native-onesignal debe estar dentro de la ruta react-native-onesignal

@avishayil el problema con el 2.0.0 es el mismo resuelto en la solicitud de extracción con el 3.0.0

@eriksape No estoy seguro de lo que estás preguntando, no voy a poner el marco en ninguna parte. Ejecuto "instalación de hilo" y el marco aparece debajo de los módulos de nodo.

Después de instalar v2.0.0, entro en node_modules / react-native-onesignal y me busco a mí mismo:

$ 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

Realmente no hay ningún lugar donde exista "OneSignal / OneSignal.h". El archivo "OneSignal.h" existe, pero no en una carpeta llamada "OneSignal". Si podemos arreglar esta ruta y superar este error de compilación, mis problemas se resolverán.

el OneSignal.framework es el mismo que está aquí?

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

@eriksape ¿No lo sé?

Aquí hay un repositorio público mínimo que reproduce el error de compilación: https://github.com/GeoffreyPlitt/react_native_minimal/tree/onesignal

¿Algún organismo ha podido solucionar este problema? encontrando el mismo problema. Reaccionar 0.40.0 + OneSignal 3.0

Ok, resolví mi problema, esta es una solución temporal. Hay algunos enlaces simbólicos en OneSignal.framework .
onesignal

Cuando ejecutamos npm install esos directorios faltan. Descargarlos del proyecto y agregarlos manualmente soluciona el problema . Esto no es ideal. Espero que esto le ahorre a la gente horas de trabajo.

Gracias. Realmente no nos ayuda porque nuestras compilaciones pasan por un sistema CI y tenemos scripts que hacen comprobaciones nuevas. ¡Emocionado por arreglar esto!

Oye @haxtrujillo ¿puedo pedirte que me
En segundo lugar, muestra una captura de pantalla, pero no estoy seguro, ¿es esa la carpeta ./node_modules/react-native-onesignal ?

@kelset ,

Abrí un nuevo problema , tiene más información y con qué moderación lo soluciono.

Los archivos de encabezado están en el directorio de versiones, debe probar qué versión funciona para su proyecto.

¿Fue útil esta página
0 / 5 - 0 calificaciones