React native jpush iOS 報錯
使用 JPush react native 官方插件安裝:
https://github.com/jpush/jpush-react-native
環境:
react native 0.67.4
jpush-react-native 2.9.0
xcode 13.3.1
cocoapods 1.11.3
步驟:
1) yarn add jpush-react-native
2) pod install
3) 在 AppDelegate 內導入library, [JPUSHService registerDeviceToken:deviceToken]; 及消息事件回调等等. Xcode 成功識別及引用 JPush.
4) Xcode build
然後報錯如下
Undefined symbols for architecture arm64:
"OBJC_CLASS$JCORETcpObject", referenced from:
_OBJC_CLASS$JPUSHNewRequest in libjpush-ios-3.7.4.a(JPUSHNewRequest.o)
"_OBJC_CLASS$JCOREConnectManager", referenced from:
objc-class-ref in libjpush-ios-3.7.4.a(JPUSHClientController.o)
"_kJPFNetworkDidRegisterNotification", referenced from:
-[JPUSHClientController tcpDidRegister:] in libjpush-ios-3.7.4.a(JPUSHClientController.o)
"_kJPFNetworkIsConnectingNotification", referenced from:
-[JPUSHClientController tcpChannelConnecting:] in libjpush-ios-3.7.4.a(JPUSHClientController.o)
"_kJPFServiceErrorNotification", referenced from:
-[JPUSHClientController networkServiceError:] in libjpush-ios-3.7.4.a(JPUSHClientController.o)
"_kJCORETcpChannelConnectedNotification", referenced from:
-[JPUSHClientController observeNotifications] in libjpush-ios-3.7.4.a(JPUSHClientController.o)
"_kJCORETcpChannelConnectingNotification", referenced from:
-[JPUSHClientController observeNotifications] in libjpush-ios-3.7.4.a(JPUSHClientController.o)
"_kJCORENetworkDidRegisterNotification", referenced from:
-[JPUSHClientController observeNotifications] in libjpush-ios-3.7.4.a(JPUSHClientController.o)
"_OBJC_CLASS$JCOREService", referenced from:
objc-class-ref in libjpush-ios-3.7.4.a(JPUSHMessage.o)
objc-class-ref in libjpush-ios-3.7.4.a(JPUSHMessageReport.o)
objc-class-ref in libjpush-ios-3.7.4.a(JPushVoipTokenController.o)
objc-class-ref in libjpush-ios-3.7.4.a(JPUSHDeviceTokenController.o)
objc-class-ref in libjpush-ios-3.7.4.a(JPUSHClientController.o)
"_kJCORETcpEventResponseNotification", referenced from:
-[JPUSHSocketEventController init] in libjpush-ios-3.7.4.a(JPUSHSocketEventController.o)
"_OBJC_CLASS$JCORENetworkReachabilityManager", referenced from:
objc-class-ref in libjpush-ios-3.7.4.a(JPushVoipTokenController.o)
"_OBJC_CLASS$JCOREDecoder", referenced from:
objc-class-ref in libjpush-ios-3.7.4.a(JPUSHTagsOperation.o)
objc-class-ref in libjpush-ios-3.7.4.a(JPUSHMessage.o)
objc-class-ref in libjpush-ios-3.7.4.a(JPUSHInMessageOperation.o)
objc-class-ref in libjpush-ios-3.7.4.a(JPUSHGeofenceInfo.o)
objc-class-ref in libjpush-ios-3.7.4.a(JPUSHUserProperty.o)
objc-class-ref in libjpush-ios-3.7.4.a(JPushGetGeofence.o)
objc-class-ref in libjpush-ios-3.7.4.a(JPUSHAliasOperation.o)
...
"_kJPFNetworkDidLoginNotification", referenced from:
-[RCTJPushModule init] in libJPush.a(RCTJPushModule.o)
-[RCTJPushModule convertConnect:] in libJPush.a(RCTJPushModule.o)
-[JPUSHClientController didLogin:] in libjpush-ios-3.7.4.a(JPUSHClientController.o)
"_OBJC_CLASS$JCORENetChannel", referenced from:
objc-class-ref in libjpush-ios-3.7.4.a(JPUSHBadgeNumberReport.o)
objc-class-ref in libjpush-ios-3.7.4.a(JPUSHTagsOperation.o)
objc-class-ref in libjpush-ios-3.7.4.a(JPUSHNewReport.o)
objc-class-ref in libjpush-ios-3.7.4.a(JPUSHNewRequest.o)
objc-class-ref in libjpush-ios-3.7.4.a(JPUSHINMessageBlackListRequest.o)
"_OBJC_CLASS$JCORECacheUtilities", referenced from:
objc-class-ref in libjpush-ios-3.7.4.a(JPushInMessagePullManager.o)
objc-class-ref in libjpush-ios-3.7.4.a(JPushAdInMessageManager.o)
objc-class-ref in libjpush-ios-3.7.4.a(JPushNotiInMessageManager.o)
objc-class-ref in libjpush-ios-3.7.4.a(JPushInMessageH5Manager.o)
"_kJCORENetworkDidLoginNotification", referenced from:
-[JPUSHNotificationController init] in libjpush-ios-3.7.4.a(JPUSHNotificationController.o)
-[JPUSHClientController observeNotifications] in libjpush-ios-3.7.4.a(JPUSHClientController.o)
"_OBJC_METACLASS$JCORETcpObject", referenced from:
_OBJC_METACLASS$JPUSHNewRequest in libjpush-ios-3.7.4.a(JPUSHNewRequest.o)
"_kJCORENetworkCmdCtrlNotification", referenced from:
-[JPUSHInMessageHeartBeatManager init] in libjpush-ios-3.7.4.a(JPUSHInMessageHeartBeatManager.o)
-[JPUSHNotificationController init] in libjpush-ios-3.7.4.a(JPUSHNotificationController.o)
-[JPUSHPasteController init] in libjpush-ios-3.7.4.a(JPUSHPasteController.o)
-[JPUSHGeofenceManager init] in libjpush-ios-3.7.4.a(JPUSHGeofenceManager.o)
"_OBJC_CLASS$JCORELogger", referenced from:
objc-class-ref in libjpush-ios-3.7.4.a(JPUSHService.o)
"_OBJC_CLASS$JCOREClientInfo", referenced from:
objc-class-ref in libjpush-ios-3.7.4.a(JPUSHService.o)
objc-class-ref in libjpush-ios-3.7.4.a(JPUSHInMessageHeartBeat.o)
objc-class-ref in libjpush-ios-3.7.4.a(JPushInMessage.o)
objc-class-ref in libjpush-ios-3.7.4.a(JPUSHBadgeNumberReport.o)
objc-class-ref in libjpush-ios-3.7.4.a(JPUSHInMessageOperation.o)
objc-class-ref in libjpush-ios-3.7.4.a(JPUSHSetTagAlias.o)
objc-class-ref in libjpush-ios-3.7.4.a(JPushVoipTokenController.o)
...
"_OBJC_CLASS$JCORECacheChannel", referenced from:
objc-class-ref in libjpush-ios-3.7.4.a(JPUSHTagAliasManagerController.o)
objc-class-ref in libjpush-ios-3.7.4.a(JPUSHCache.o)
objc-class-ref in libjpush-ios-3.7.4.a(JPUSHBadgeNumberController.o)
objc-class-ref in libjpush-ios-3.7.4.a(JPUSHUserProperty.o)
objc-class-ref in libjpush-ios-3.7.4.a(JPUSHUserPropertyController.o)
"_OBJC_CLASS$JCOREDataSecurity", referenced from:
objc-class-ref in libjpush-ios-3.7.4.a(JPushInMessageBlackListManager.o)
objc-class-ref in libjpush-ios-3.7.4.a(JPUSHINMessageBlackListRequest.o)
"_OBJC_METACLASS$JCOREIntegrate", referenced from:
_OBJC_METACLASS$JPUSHIntegrate in libjpush-ios-3.7.4.a(JPUSHIntegrate.o)
"_kJPFNetworkFailedRegisterNotification", referenced from:
-[RCTJPushModule init] in libJPush.a(RCTJPushModule.o)
-[JPUSHClientController tcpRegisterFail:] in libjpush-ios-3.7.4.a(JPUSHClientController.o)
"_kJPFNetworkDidSetupNotification", referenced from:
-[JPUSHClientController tcpChannelDidConnected:] in libjpush-ios-3.7.4.a(JPUSHClientController.o)
"_kJPFNetworkDidReceiveMessageNotification", referenced from:
-[AppDelegate application:didFinishLaunchingWithOptions:] in AppDelegate.o
___34-[RCTJPushModule setupWithConfig:]_block_invoke in libJPush.a(RCTJPushModule.o)
-[JPUSHSocketEventController dispatchCustomPushMessage:] in libjpush-ios-3.7.4.a(JPUSHSocketEventController.o)
"_OBJC_CLASS$JCORELog", referenced from:
objc-class-ref in libjpush-ios-3.7.4.a(JPUSHService.o)
objc-class-ref in libjpush-ios-3.7.4.a(JPUSHLocalNotificationController.o)
objc-class-ref in libjpush-ios-3.7.4.a(JPushInMessageBlackListManager.o)
objc-class-ref in libjpush-ios-3.7.4.a(JPUSHBadgeNumberController.o)
objc-class-ref in libjpush-ios-3.7.4.a(JPushInMessagePullManager.o)
objc-class-ref in libjpush-ios-3.7.4.a(JPUSHBadgeNumberReport.o)
objc-class-ref in libjpush-ios-3.7.4.a(JPUSHSocketEventController.o)
...
"_kJCORENetworkErrorNotification", referenced from:
-[JPUSHClientController observeNotifications] in libjpush-ios-3.7.4.a(JPUSHClientController.o)
"_kJPFNetworkDidCloseNotification", referenced from:
-[RCTJPushModule init] in libJPush.a(RCTJPushModule.o)
-[JPUSHClientController tcpChannelDidDisconnected:] in libjpush-ios-3.7.4.a(JPUSHClientController.o)
"_JCORENetworkingReachabilityDidChangeNotification", referenced from:
-[JPushVoipTokenController init] in libjpush-ios-3.7.4.a(JPushVoipTokenController.o)
"_OBJC_CLASS$JCOREUtilities", referenced from:
objc-class-ref in libjpush-ios-3.7.4.a(JPUSHInMessageHeartBeat.o)
objc-class-ref in libjpush-ios-3.7.4.a(JPushInMessageBlackListManager.o)
objc-class-ref in libjpush-ios-3.7.4.a(JPUSHTagAliasManagerController.o)
objc-class-ref in libjpush-ios-3.7.4.a(JPUSHBadgeNumberReport.o)
objc-class-ref in libjpush-ios-3.7.4.a(JPUSHTagsOperation.o)
objc-class-ref in libjpush-ios-3.7.4.a(JPUSHNotificationController.o)
objc-class-ref in libjpush-ios-3.7.4.a(JPUSHSocketEventController.o)
...
"_OBJC_CLASS$JCOREThread", referenced from:
objc-class-ref in libjpush-ios-3.7.4.a(JPUSHService.o)
objc-class-ref in libjpush-ios-3.7.4.a(JPushInMessage.o)
objc-class-ref in libjpush-ios-3.7.4.a(JPushInMessageBlackListManager.o)
objc-class-ref in libjpush-ios-3.7.4.a(JPUSHInMessageAnimationManager.o)
objc-class-ref in libjpush-ios-3.7.4.a(JPUSHInMessageHeartBeatManager.o)
objc-class-ref in libjpush-ios-3.7.4.a(JPushInMessagePullManager.o)
objc-class-ref in libjpush-ios-3.7.4.a(JPUSHInMessageAnimationConfigManager.o)
...
"_kJCORENetworkFailedRegisterNotification", referenced from:
-[JPUSHClientController observeNotifications] in libjpush-ios-3.7.4.a(JPUSHClientController.o)
"_OBJC_CLASS$JCOREIntegrate", referenced from:
_OBJC_CLASS$_JPUSHIntegrate in libjpush-ios-3.7.4.a(JPUSHIntegrate.o)
"_kJCORETcpChannelDisconnectNotification", referenced from:
-[JPUSHInMessageHeartBeatManager init] in libjpush-ios-3.7.4.a(JPUSHInMessageHeartBeatManager.o)
-[JPUSHClientController observeNotifications] in libjpush-ios-3.7.4.a(JPUSHClientController.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)