説明:
アプリで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;
}}
環境
問題を再現する手順:
他に何か:
私たちは、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を実行しているデバイスを入手して、そこでテストできるかどうかを試してみます。
今のところ、私たちは自分でこれ以上進むことはできず、すでに何日も輪になって走っています。
助けに感謝します!
同じ問題を経験して、私たちは反応ネイティブ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でビルドしようとすると、これと同じ問題が発生します。
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.framework
とWebKit.framework
両方を追加することで、これを機能させることができました。 ご協力いただきありがとうございます!
Webkit.frameworkを手動で追加することで問題を修正しました。 アプリが実行され、onesignalが機能します:)
聞いてよかった
最も参考になるコメント
@ rgomezp #861で提案されているように、XCodeの
OneSignalNotificationServiceExtension
プロジェクトにCoreGraphics.framework
とWebKit.framework
両方を追加することで、これを機能させることができました。 ご協力いただきありがとうございます!