React-native-onesignal: React-native-onesignal e ios 13.1

Creado en 13 sept. 2019  ·  12Comentarios  ·  Fuente: OneSignal/react-native-onesignal

Descripción:

Estamos en el proceso de actualizar react-native-onesignal en una aplicación; react-native es la versión 0.55.2. En resumen, el problema es que hemos intentado actualizar el sdk react-native-onesignal (a 3.3.2 y 3.3.3) según el correo electrónico que se envía con respecto a xcode 11 e iOS 13. Sin embargo, cuando se ejecuta la aplicación en un Dispositivo iOS 13.1 (iphone 7) (está construido y se ejecuta con xcode 11) la aplicación se ejecuta, aparece la ventana emergente pidiendo permiso para enviar notificaciones push (y aceptamos) pero siempre obtenemos lo siguiente en la consola y la aplicación ganó no se registre para recibir notificaciones, ya que el dispositivo no aparece en el panel de Onesignal:

(No sé cómo formatear el código, lo siento)

2019-09-13 14:30:11.707798+0200 app_name[3842:145178] { userSubscriptionEnabled: true, subscriptionEnabled: false, pushToken: '{length=32,bytes=0x0586c0fd0e74336ba3129ece2d44e089...8a9649cae8640ed7}', emailAddress: null, userId: null, hasPrompted: true, notificationsEnabled: false, emailUserId: null, emailSubscribed: false }

.....

2019-09-13 14:30:26.742281+0200 app_name[3842:145201] VERBOSE: HTTP Request (OSRequestRegisterUser) with URL: https://onesignal.com/api/v1/players, with parameters: { "app_id" : "app_id", "net_type" : 0, "test_type" : 1, "ios_bundle" : "dat1.videoplatform.ios.babyapp", "tags" : { "lang" : "da" }, "device_type" : 0, "sdk_type" : "react", "sdk" : "020904", "identifier" : "{length=32,bytes=0x0586c0fd0e74336ba3129ece2d44e089...8a9649cae8640ed7}", "language" : "da-DK", "device_os" : "13.1", "game_version" : "38", "timezone" : 7200, "ad_id" : "3A2693A5-32F0-474C-B4BD-5CC5F40B511A", "notification_types" : 31, "device_model" : "iPhone9,3", "carrier" : "Telenor DK" } 2019-09-13 14:30:26.960947+0200 app_name[3842:145202] VERBOSE: network response (OSRequestRegisterUser): { errors = ( "[\"Identifier invalid format.\"]" ); success = 0; } 2019-09-13 14:30:26.961717+0200 app_name[3842:144941] ERROR: Encountered error during push registration with OneSignal: Error Domain=OneSignalError Code=400 "(null)" UserInfo={returned={ errors = ( "[\"Identifier invalid format.\"]" ); success = 0; }}

Medio ambiente

Pasos para reproducir el problema:

  1. Instale la versión 3.3.2 o 3.3.3 de react-native-onesignal
  2. El SDK se inicializa en App.js
  3. Ejecute la aplicación en un iPhone 7 con iOS 13.1 y acepte notificaciones automáticas en la ventana emergente.

Algo más:

Hemos intentado ejecutar en dispositivos iOS 12.4 con react-native-onesignal 3.2.4 (pre-actualización), 3.3.2 y 3.3.3, todos los cuales funcionan allí. Utiliza el formato de identificador antiguo como se esperaba. Hemos ejecutado la versión Live de la aplicación en un iPhone 7 con iOS 13.1 que funciona (pensamos que no debería funcionar). Hemos ejecutado la aplicación actualizada con 3.3.2 y 3.3.3 que se ejecutan en el emulador sin problemas. Se conecta, simplemente no aparece la ventana emergente solicitando permisos de inserción como se esperaba.

Vamos a intentar ver si podemos obtener un dispositivo que ejecute iOS 13.0 y probar allí, ya que el emulador es 13.0 y puede haber una diferencia desde allí con 13.1.

Por ahora no podemos llegar más lejos por nuestra cuenta y ya llevamos días corriendo en círculos.

¡Agradezco la ayuda!

Help Wanted iOS

Comentario más útil

@rgomezp Pude hacer que esto funcionara agregando CoreGraphics.framework y WebKit.framework a mi proyecto OneSignalNotificationServiceExtension en XCode, como se sugirió en # 861. ¡Gracias por tu ayuda!

Todos 12 comentarios

Experimentando el mismo problema, estamos en react-native 0.59.10

Hola,
Acabamos de lanzar la versión 3.4.1 que debería solucionar este problema. ¡Salud!

Lo intentaré y volveré con los resultados :)

@DanielMerbt ¿Conseguiste que esto funcionara en iOS 13.1? ¿Puede por favor hacérnoslo saber? ¡Gracias!

Actualizamos al SDK 3.4.1 e intentamos ejecutar el simulador y el dispositivo ios 13.1 y obtenemos un error de compilación, por lo que no hemos podido ver si el problema original se ha resuelto. También pasamos a la versión Xcode GM, pero la versión beta que usamos antes dio como resultado exactamente el mismo error de compilación.

El nuevo error que ocurre al intentar ejecutar en sim / dispositivo es:

Símbolos indefinidos para la arquitectura x86_64:
"_OBJC_CLASS _ $ _ WKWebView", referenciado desde:
objc-class-ref en libRCTOneSignal.a (OneSignal-x86_64-master.o)
"_OBJC_CLASS _ $ _ WKWebViewConfiguration", referenciado desde:
objc-class-ref en libRCTOneSignal.a (OneSignal-x86_64-master.o)
ld: símbolo (s) no encontrado para la arquitectura x86_64
clang: error: el comando del vinculador falló con el código de salida 1 (use -v para ver la invocación)

Me pregunto qué más se cambió en la actualización 3.4.1, ya que no cambiamos absolutamente nada más que la versión del SDK react-native-onesignal.

Me encuentro con este mismo problema al intentar compilar con la versión 3.4.1 del SDK.
Screen Shot 2019-09-19 at 12 24 50 PM

Agregamos dos nuevos marcos que XCode tiene problemas para encontrar. ¿Puede intentar ejecutar pod deintegrate && pod install desde su directorio ios?

@rgomezp Ejecuté esos e intenté compilar nuevamente, y ahora veo el mismo resultado que el anterior.

Undefined symbols for architecture arm64:
  "_OBJC_CLASS_$_WKWebViewConfiguration", referenced from:
      objc-class-ref in libRCTOneSignal.a(OneSignal-arm64-master.o)
  "_OBJC_CLASS_$_WKWebView", referenced from:
      objc-class-ref in libRCTOneSignal.a(OneSignal-arm64-master.o)
  "_CGAffineTransformIdentity", referenced from:
      ___49-[OSInAppMessageViewController animateAppearance]_block_invoke in libRCTOneSignal.a(OneSignal-arm64-master.o)
  "_CGAffineTransformMakeScale", referenced from:
      -[OSInAppMessageViewController addConstraintsForMessage] in libRCTOneSignal.a(OneSignal-arm64-master.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

¿Puede intentar seguir estas instrucciones?

https://documentation.onesignal.com/docs/react-native-sdk-setup#section -manually-updated-ios-onesignalnativesdk

Repositorio nativo de iOS: https://github.com/OneSignal/OneSignal-iOS-SDK

EDITAR: la gente ha resuelto esto agregando los marcos faltantes directamente a su proyecto (no cocoapods): https://github.com/geektimecoil/react-native-onesignal/issues/861

@rgomezp Pude hacer que esto funcionara agregando CoreGraphics.framework y WebKit.framework a mi proyecto OneSignalNotificationServiceExtension en XCode, como se sugirió en # 861. ¡Gracias por tu ayuda!

Se solucionó el problema agregando el Webkit.framework manualmente. La aplicación se ejecuta y oneignal funciona :)

Me alegro de oirlo

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