์ค๋ช
:
์ฑ์์ react-native-onesignal์ ์ ๋ฐ์ดํธํ๋ ์ค์ ๋๋ค. react-native๋ ๋ฒ์ 0.55.2์ ๋๋ค. ๊ฐ๋จํ ๋งํด์ ๋ฌธ์ ๋ xcode 11 ๋ฐ iOS 13๊ณผ ๊ด๋ จํ์ฌ ์ ์ก๋๋ ์ด๋ฉ์ผ์ ๋ฐ๋ผ react-native-onesignal sdk(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(์ฌ์ ์ ๋ฐ์ดํธ), 3.3.2 ๋ฐ 3.3.3์ด ๋ชจ๋ ์๋ํ๋ iOS 12.4 ์ฅ์น์์ ์คํ์ ์๋ํ์ต๋๋ค. ์์๋๋ก ์ด์ ์๋ณ์ ํ์์ ์ฌ์ฉํฉ๋๋ค. ์ฐ๋ฆฌ๋ ์๋ํ๋ iOS 13.1 iphone 7์์ ์ฑ์ ๋ผ์ด๋ธ ๋ฒ์ ์ ์คํํ์ต๋๋ค(์๋ํ์ง ์์์ผ ํ๋ค๊ณ ์๊ฐํ์ต๋๋ค). ์๋ฎฌ๋ ์ดํฐ์์ ์ ๋๋ก ์คํ๋๋ 3.3.2 ๋ฐ 3.3.3์ผ๋ก ์ ๋ฐ์ดํธ๋ ์ฑ์ ์คํํ์ต๋๋ค. ์ฐ๊ฒฐ๋๋ฉด ์์๋๋ก ํธ์ ๊ถํ์ ๋ฌป๋ ํ์ ์ด ํ์๋์ง ์์ต๋๋ค.
์๋ฎฌ๋ ์ดํฐ๊ฐ 13.0์ด๊ณ 13.1๊ณผ ์ฐจ์ด๊ฐ ์์ ์ ์์ผ๋ฏ๋ก iOS 13.0์ ์คํํ๋ ์ฅ์น๋ฅผ ๊ฐ์ ธ์ ํ ์คํธํ ์ ์๋์ง ํ์ธํ๋ ค๊ณ ํฉ๋๋ค.
์ง๊ธ ์ฐ๋ฆฌ๋ ์ค์ค๋ก ๋ ์ด์ ๋์๊ฐ ์ ์์ผ๋ฉฐ ์ด๋ฏธ ์ํด์์ ๋ช ์ผ์ ๋ณด๋์ต๋๋ค.
๋์์ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!
๊ฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ฌ react-native 0.59.10์ ์ฌ์ฉ ์ค์ ๋๋ค.
์๋
,
์ฐ๋ฆฌ๋ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ผ ํ๋ ๋ฒ์ 3.4.1์ ์ถ์ํ์ต๋๋ค. ๊ฑด๋ฐฐ!
ํด๋ณด๊ณ ๊ฒฐ๊ณผ๋ก ๋์์ค๊ฒ ์ต๋๋ค :)
@DanielMerbt iOS 13.1์์ ์๋ํ๋๋ก ํ์ต๋๊น? ์๋ ค์ฃผ์๊ฒ ์ต๋๊น? ๊ฐ์ฌ ํด์!
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 ์ฌ์ฉ).
react-native-onesignal SDK ๋ฒ์ ์ธ์๋ ์๋ฌด๊ฒ๋ ๋ณ๊ฒฝํ์ง ์์๊ธฐ ๋๋ฌธ์ 3.4.1 ์ ๋ฐ์ดํธ์์ ๋ค๋ฅธ ๋ณ๊ฒฝ ์ฌํญ์ด ๋ฌด์์ธ์ง ๊ถ๊ธํฉ๋๋ค.
SDK ๋ฒ์ 3.4.1๋ก ๋น๋ํ๋ ค๊ณ ์๋ํ๋ ๊ฒ๊ณผ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค.
XCode๊ฐ ์ฐพ๋ ๋ฐ ๋ฌธ์ ๊ฐ ์๋ ๋ ๊ฐ์ ์๋ก์ด ํ๋ ์์ํฌ๋ฅผ ์ถ๊ฐํ์ต๋๋ค. 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://github.com/OneSignal/OneSignal-iOS-SDK
ํธ์ง: ์ฌ๋๋ค์ ๋๋ฝ๋ ํ๋ ์์ํฌ๋ฅผ ํ๋ก์ ํธ(cocoapods๊ฐ ์๋)์ ์ง์ ์ถ๊ฐํ์ฌ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค. https://github.com/geektimecoil/react-native-onesignal/issues/861
@rgomezp #861์์ ์ ์ํ ๋๋ก XCode์ OneSignalNotificationServiceExtension
ํ๋ก์ ํธ์ CoreGraphics.framework
๋ฐ WebKit.framework
๋ฅผ ๋ชจ๋ ์ถ๊ฐํ์ฌ ์ด ์์
์ ์ํํ ์ ์์์ต๋๋ค. ๋น์ ์ ๋์์ ์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค!
Webkit.framework๋ฅผ ์๋์ผ๋ก ์ถ๊ฐํ์ฌ ๋ฌธ์ ๋ฅผ ์์ ํ์ต๋๋ค. ์ฑ์ด ์คํ๋๊ณ onesignal์ด ์๋ํฉ๋๋ค :)
๋ฃ๊ธฐ ์ข์
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
@rgomezp #861์์ ์ ์ํ ๋๋ก XCode์
OneSignalNotificationServiceExtension
ํ๋ก์ ํธ์CoreGraphics.framework
๋ฐWebKit.framework
๋ฅผ ๋ชจ๋ ์ถ๊ฐํ์ฌ ์ด ์์ ์ ์ํํ ์ ์์์ต๋๋ค. ๋น์ ์ ๋์์ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!