无法在从RN版本0.63.2升级到0.65.0-rc.3之后构建iOS应用程序。我得到了这个错误:
/Users/.../ReactNativeProjects/.../node_modules/react-native-gesture-handler/ios/RNGestureHandlerManager.m:1: /Users/.../ReactNativeProjects/.../node_modules/react-native-gesture-handler/ios/RNGestureHandlerManager.h:9:52:错误包含的文件中的
:期望类型为eventDispatcher:(非空RCTEventDispatcher *)eventDispatcher;
RNGestureHandlerManager.h中出现了以下问题:
- (nonnull instancetype)initWithUIManager:(nonnull RCTUIManager *)uiManager
eventDispatcher:(nonnull RCTEventDispatcher *)eventDispatcher;
当我升级到RNGestureHandler版本1.10.3时,会出现以下错误:
未定义符号: OBJC_CLASS$_RCTScrollView
未定义符号: OBJC_METACLASS$_RCTViewManager
未定义符号: OBJC_CLASS$_RCTEventEmitter
未定义符号:__RCTNotImplementedException
未定义符号:_RCTGetUIManagerQueue
未定义符号: OBJC_CLASS$_RCTConvert
未定义符号:_RCTRegisterModule
未定义符号:_RCTDefaultLogFunction
未定义符号: OBJC_CLASS$_RCTRootView
未定义符号: OBJC_METACLASS$_RCTEventEmitter
未定义符号: OBJC_CLASS$_RCTTouchHandler
未定义符号: OBJC_CLASS$_RCTViewManager
未定义符号:__RCTLogNativeInternal
从我在github页面上提交这个问题到现在已经有3天了,但是没有得到团队的回应。我真的很感谢你的帮助。任何想法都欢迎!这真的开始困扰我了。
下面是我在github:https://github.com/software-mansion/react-native-gesture-handler/issues/1543上创建的问题的链接
非常感谢..。
发布于 2021-08-12 09:10:47
好的。经过几天的阅读/挖掘,并尝试了许多不同的解决方案,这就是我修复它的方法。
1-在RNGestureHandlerManager.h
中添加了以下导入语句
#import <React/RCTEventDispatcher.h>
当我试图重新构建应用程序时,这会产生相同的Undefined symbol
错误,就好像我已经将RNGestureHandler版本更新为1.10.3 (参见问题中的红色错误消息)。
2-这是关键的部分。
我检查了主项目目标的Build Settings
下的“Build Settings
”设置。调试和发布模式都是“是”。
然后,我检查了RNGestureHandler
包在Pods
项目中的相同设置。在我的例子中,调试是肯定的,发行是否定的。我试图在发布模式下构建应用程序,因此我将RNGestureHandler
包的发布模式更改为“是”。
然后我又试着构建我的应用程序。这一次,Undefined symbol
包的RNGestureHandler错误消失了。类似的消息开始出现在其他软件包中。我对所有创建这些Undefined symbol
错误的包都做了相同的设置更新,最后,我的应用程序在发布模式下成功构建了!希望这能有所帮助。
发布于 2021-09-22 02:10:14
react本机手势处理库被升级并包含修复,因此升级库将修复它。
发布于 2022-07-14 06:06:57
这个问题在较新版本的lib中得到了修正。
在package.json
文件中,将react-native-gesture-handler
库的版本更改为~2.5.0
或更高版本。然后运行yarn
或npm i
,然后运行cd ios && pod install
。
https://stackoverflow.com/questions/68757139
复制