React Native iOS运行报错:Cannot find protocol declaration for 'NativeVibrationSpec'
报错Cannot find protocol declaration for 'NativeVibrationSpec'解决方案
该报错为React Native 0.72+版本与Xcode 13的兼容性问题,可通过以下任意一种方案解决:
方案1:禁用Codegen(无需升级Xcode)
- 打开项目根目录
ios/Podfile文件 - 找到
use_react_native!配置块,新增:codegen_enabled => false参数,修改后示例:
use_react_native!( :path => config[:reactNativePath], :codegen_enabled => false, # 保留原有其他配置项不变 )
- 保存文件后进入ios目录,执行
pod deintegrate && pod install重新安装Pods依赖 - 打开Xcode点击顶部菜单
Product -> Clean Build Folder清理构建缓存后重新运行项目即可
方案2:升级Xcode版本
- Xcode 13对RN高版本默认启用的Codegen生成的混编协议支持存在缺陷,直接将Xcode升级到14.0及以上版本即可兼容
- 升级后清理Xcode缓存,重新执行
pod install后运行项目
方案3:降级React Native版本
- 若需继续使用Xcode 13开发,可将RN版本降级到0.71.x稳定版,该版本不会触发导致报错的Codegen规则
- 指定版本初始化项目命令:
npx react-native@0.71.14 init ProjectName
所有方案执行后都建议先清理Xcode构建缓存,避免旧缓存导致报错仍然存在。
内容的提问来源于stack exchange,提问作者poPaTheGuru
相关产品推荐
相关产品推荐

