React Native项目执行pod spec lint报错:'RCTAppDelegate.h'文件未找到
解决pod spec lint报错找不到RCTAppDelegate.h的问题
问题根源
pod spec lint 是独立校验podspec的工具,不会自动继承React Native项目原本的Xcode配置或依赖路径,因此无法定位到React Native核心库的头文件;而Xcode运行时会通过React Native自带的pod配置自动处理这些路径,所以项目能正常运行。
具体修复步骤
1. 更新podspec的依赖与路径配置
编辑你的.podspec文件,补充React Native核心依赖和头文件搜索路径:
# 声明依赖React Native核心组件(0.76+版本需显式依赖RCTAppDelegate) s.dependency "React-Core" s.dependency "React-RCTAppDelegate" # 配置头文件搜索路径,指向node_modules中的React Native源码 s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "$(inherited) $(SRCROOT)/../node_modules/react-native/React $(SRCROOT)/../node_modules/react-native/ReactCommon", "FRAMEWORK_SEARCH_PATHS" => "$(inherited)" }
2. 执行lint时指定本地React Native pod源
如果上述配置未生效,执行lint命令时显式指定React Native的本地podspec源:
pod spec lint --verbose --use-libraries --sources=https://cdn.cocoapods.org/,../node_modules/react-native/scripts/react-native-podspecs/
3. 校验podspec的文件路径配置
确保s.source_files的路径正确指向你的原生代码目录,比如你的代码在ios/folderappname/下:
s.source_files = "ios/folderappname/**/*.{h,m,mm,swift}"
4. 清理缓存重试
清理pod缓存避免旧配置干扰:
pod cache clean --all rm -rf ~/Library/Caches/CocoaPods pod spec lint
内容的提问来源于stack exchange,提问作者Diego Albini
相关产品推荐
相关产品推荐

