React Native iOS端Podfile开启Hermes后应用内实际未生效问题求助
React Native 0.65.x iOS端启用Hermes失败解决方案
按照以下步骤操作即可解决版本升级后Hermes配置不生效的问题:
1. 校验Podfile配置
首先确认从0.64.2升级的过程中,没有遗留旧版本手动引入Hermes的代码,仅保留官方要求的:hermes_enabled => true配置即可,完整配置参考如下:
use_react_native!( :path => config[:reactNativePath], # 开启iOS Hermes开关 :hermes_enabled => true )
如果项目开启了use_frameworks!动态库配置,需要额外添加Hermes的模块化头文件配置:
# 添加在use_react_native!代码块上方 pod 'hermes-engine', :path => "#{config[:reactNativePath]}/sdks/hermes", :modular_headers => true
2. 彻底清空缓存后重新安装依赖
依次执行以下命令清空所有本地缓存,避免旧版本构建产物导致配置不生效:
# 清空项目iOS构建目录 rm -rf ios/build # 删除旧的Pods文件和锁定记录 rm -rf ios/Pods ios/Podfile.lock # 清空全局CocoaPods缓存 pod cache clean --all # 重新安装iOS依赖 cd ios && pod install
3. 配置Xcode强制启用Hermes
打开iOS项目的xcworkspace文件,进入项目根节点的「Build Settings」面板,搜索FORCE_HERMES配置项:
- 如果存在该配置,将Debug、Release模式的取值都设为
YES - 如果不存在该配置,手动添加用户定义设置,键为
FORCE_HERMES,值为YES
4. 清空Xcode缓存后重新构建
按下Command + Shift + K清空Xcode全局构建缓存,选择实体iOS设备重新运行项目即可。
配置完成后,运行官方检测代码const isHermes = () => !!global.HermesInternal;,返回true即代表Hermes已成功启用。
内容的提问来源于stack exchange,提问作者aryanm
相关产品推荐
相关产品推荐

