React-native-onesignal: React-native-onesignalおよびios13.1

作成日 2019年09月13日  ·  12コメント  ·  ソース: OneSignal/react-native-onesignal

説明:

アプリでreact-native-onesignalを更新中です-react-nativeはバージョン0.55.2です。 要するに、問題は、xcode11とiOS13に関して送信される電子メールごとにreact-native-onesignalsdkを(3.3.2と3.3.3に)更新しようとしたことです。ただし、アプリをiOS 13.1デバイス(iphone 7)(xcode 11でビルドおよび実行されます)アプリが実行され、プッシュ通知を送信する許可を求めるポップアップが表示されます(受け入れます)が、コンソールには常に次の情報が表示され、アプリが勝ちましたデバイスがOnesignalダッシュボードに表示されないため、通知に登録しないでください。

(コードのフォーマット方法がわかりません、申し訳ありません)

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

環境

問題を再現する手順:

  1. react-native-onesignalのバージョン3.3.2または3.3.3をインストールします
  2. SDKはApp.jsで初期化されます
  3. iOS13.1を搭載したiPhone7でアプリを実行し、ポップアップでプッシュ通知を受け入れます。

他に何か:

私たちは、react-native-onesignal 3.2.4(pre-update)、3.3.2、および3.3.3を使用してiOS 12.4デバイスで実行しようとしましたが、これらはすべてそこで機能します。 期待どおりに古い識別子形式を使用します。 動作するiOS13.1 iphone 7でアプリのライブバージョンを実行しました(動作しないはずだと思いました)。 エミュレーターで正常に実行される3.3.2および3.3.3で更新されたアプリを実行しました。 接続しますが、期待どおりにプッシュ権限を要求するポップアップが表示されません。

エミュレーターは13.0であり、そこから13.1との違いがある可能性があるため、iOS 13.0を実行しているデバイスを入手して、そこでテストできるかどうかを試してみます。

今のところ、私たちは自分でこれ以上進むことはできず、すでに何日も輪になって走っています。

助けに感謝します!

Help Wanted iOS

最も参考になるコメント

@ rgomezp #861で提案されているように、XCodeのOneSignalNotificationServiceExtensionプロジェクトにCoreGraphics.frameworkWebKit.framework両方を追加することで、これを機能させることができました。 ご協力いただきありがとうございます!

全てのコメント12件

同じ問題を経験して、私たちは反応ネイティブ0.59.10にいます

ハウディ、
この問題を修正するバージョン3.4.1をリリースしました。 乾杯!

試してみて、結果を返します:)

@DanielMerbtこれを

3.4.1 SDKに更新し、シミュレーターとios 13.1デバイスで実行しようとすると、ビルドエラーが発生するため、元の問題が解決されたかどうかを確認できませんでした。 Xcode GMバージョンにも移行しましたが、以前に使用したベータ版ではまったく同じビルドエラーが発生しました。

sim / deviceで実行しようとしたときに発生する新しいエラーは次のとおりです。

アーキテクチャx86_64の未定義のシンボル:
「_OBJC_CLASS_ $ _ WKWebView」、参照元:
libRCTOneSignal.a(OneSignal-x86_64-master.o)のobjc-class-ref
「_OBJC_CLASS_ $ _ WKWebViewConfiguration」、参照元:
libRCTOneSignal.a(OneSignal-x86_64-master.o)のobjc-class-ref
ld:アーキテクチャx86_64のシンボルが見つかりません
clang:エラー:リンカーコマンドが終了コード1で失敗しました(呼び出しを確認するには-vを使用してください)

3.4.1アップデートで他に何が変更されたのか疑問に思っています。これは、react-native-onesignalSDKバージョン以外はまったく変更されていないためです。

SDKバージョン3.4.1でビルドしようとすると、これと同じ問題が発生します。
Screen Shot 2019-09-19 at 12 24 50 PM

XCodeが見つけにくい2つの新しいフレームワークを追加しました。 iOSディレクトリからpod deintegrate && pod installを実行してみてください。

@rgomezpこれらを実行して再度ビルドしようとしましたが、上記と同じ出力が表示されています。

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)

これらの指示に従ってみてください。

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

iOSネイティブリポジトリ: https

編集:人々は不足しているフレームワークをプロジェクトに直接追加することでこれを解決しました(非cocoapods): https

@ rgomezp #861で提案されているように、XCodeのOneSignalNotificationServiceExtensionプロジェクトにCoreGraphics.frameworkWebKit.framework両方を追加することで、これを機能させることができました。 ご協力いただきありがとうございます!

Webkit.frameworkを手動で追加することで問題を修正しました。 アプリが実行され、onesignalが機能します:)

聞いてよかった

このページは役に立ちましたか?
0 / 5 - 0 評価