React-native-onesignal: React-native-onesignal et ios 13.1

Créé le 13 sept. 2019  ·  12Commentaires  ·  Source: OneSignal/react-native-onesignal

La description:

Nous sommes en train de mettre à jour react-native-onesignal dans une application - react-native est la version 0.55.2. En bref, le problème est que nous avons essayé de mettre à jour le sdk react-native-onesignal (vers 3.3.2 et 3.3.3) en fonction de l'e-mail envoyé concernant xcode 11 et iOS 13. Cependant, lors de l'exécution de l'application sur un Appareil iOS 13.1 (iphone 7) (il est construit et exécuté avec xcode 11) l'application s'exécute, elle obtient la fenêtre contextuelle demandant la permission d'envoyer des notifications push (et nous acceptons) mais nous obtenons toujours ce qui suit dans la console et l'application a gagné ne vous inscrivez pas aux notifications, car l'appareil n'apparaît pas dans le tableau de bord Onesignal :

(je ne sais pas comment formater le code, désolé)

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; }}

Environnement

Étapes pour reproduire le problème :

  1. Installez la version 3.3.2 ou 3.3.3 de react-native-onesignal
  2. Le SDK est initialisé dans App.js
  3. Exécutez l'application sur un iPhone 7 avec iOS 13.1 et acceptez les notifications push dans la fenêtre contextuelle.

Rien d'autre:

Nous avons essayé de fonctionner sur des appareils iOS 12.4 avec react-native-onesignal 3.2.4 (pré-mise à jour), 3.3.2 et 3.3.3 qui fonctionnent tous là-bas. Il utilise l'ancien format d'identifiant comme prévu. Nous avons exécuté la version Live de l'application sur un iPhone 7 iOS 13.1 qui fonctionne (nous pensions que cela ne devrait pas fonctionner). Nous avons exécuté l'application mise à jour avec 3.3.2 et 3.3.3 qui s'exécutent très bien sur l'émulateur. Il se connecte, il n'obtient tout simplement pas la fenêtre contextuelle demandant les autorisations push comme prévu.

Nous allons essayer de voir si nous pouvons obtenir un appareil exécutant iOS 13.0 et le tester puisque l'émulateur est 13.0 et qu'il pourrait y avoir une différence par rapport à 13.1.

Pour l'instant, nous ne pouvons pas aller plus loin par nous-mêmes et avons déjà passé des jours à tourner en rond.

Appréciez l'aide!

Help Wanted iOS

Commentaire le plus utile

@rgomezp J'ai pu faire fonctionner cela en ajoutant à la fois CoreGraphics.framework et WebKit.framework à mon projet OneSignalNotificationServiceExtension dans XCode, comme suggéré dans #861. Merci pour ton aide!

Tous les 12 commentaires

Connaissant le même problème, nous sommes sur react-native 0.59.10

Salut,
Nous venons de sortir la version 3.4.1 qui devrait résoudre ce problème. À votre santé!

Je vais essayer et je reviendrai avec les résultats :)

@DanielMerbt Avez-vous réussi à faire fonctionner cela sur iOS 13.1 ? Pouvez-vous s'il vous plaît nous le faire savoir. Merci!

Nous avons mis à jour le SDK 3.4.1 et essayé de l'exécuter sur le simulateur et le périphérique ios 13.1 et nous obtenons une erreur de construction, nous n'avons donc pas pu voir si le problème d'origine a été résolu. Nous sommes également passés à la version Xcode GM, mais la version bêta que nous utilisions auparavant a entraîné exactement la même erreur de construction.

La nouvelle erreur qui se produit lors de la tentative d'exécution sur sim/appareil est :

Symboles non définis pour l'architecture x86_64 :
"_OBJC_CLASS_$_WKWebView", référencé à partir de :
objc-class-ref dans libRCTOneSignal.a (OneSignal-x86_64-master.o)
"_OBJC_CLASS_$_WKWebViewConfiguration", référencé à partir de :
objc-class-ref dans libRCTOneSignal.a(OneSignal-x86_64-master.o)
ld : symbole(s) introuvables pour l'architecture x86_64
clang : erreur : la commande de l'éditeur de liens a échoué avec le code de sortie 1 (utilisez -v pour voir l'appel)

Je me demande ce qui a été changé d'autre dans la mise à jour 3.4.1, car nous n'avons absolument rien changé à part la version du SDK react-native-onesignal.

Je rencontre le même problème en essayant de construire avec la version 3.4.1 du SDK.
Screen Shot 2019-09-19 at 12 24 50 PM

Nous avons ajouté deux nouveaux frameworks que XCode a du mal à trouver. Pouvez-vous s'il vous plaît essayer d'exécuter pod deintegrate && pod install partir de votre répertoire ios ?

@rgomezp Je les ai

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)

Pouvez-vous s'il vous plaît essayer de suivre ces instructions?

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

Référentiel natif iOS : https://github.com/OneSignal/OneSignal-iOS-SDK

EDIT: les gens ont résolu ce problème en ajoutant les frameworks manquants directement à leur projet (non-cocoapods): https://github.com/geektimecoil/react-native-onesignal/issues/861

@rgomezp J'ai pu faire fonctionner cela en ajoutant à la fois CoreGraphics.framework et WebKit.framework à mon projet OneSignalNotificationServiceExtension dans XCode, comme suggéré dans #861. Merci pour ton aide!

Correction du problème en ajoutant le Webkit.framework manuellement. L'application fonctionne et onesignal fonctionne :)

Ravi de l'entendre

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