iOS项目归档出现Firebase相关'db/version_edit.h'头文件未找到问题求助
归档构建时
db/version_edit.h头文件缺失排查方案 该报错本质是Firebase Core依赖的LevelDB原生组件在Release归档配置下的头文件路径解析失败,多数场景下Debug调试构建正常,仅在执行Archive归档操作时触发。
排查解决步骤如下:
- 清理本地构建残留与Pod缓存
依次在终端执行命令完成清理重装:- 清空Xcode构建缓存目录:
rm -rf ~/Library/Developer/Xcode/DerivedData - 进入项目Podfile所在目录,执行依赖重装流程:
pod deintegrate && pod cache clean --all && pod install
- 清空Xcode构建缓存目录:
- 修正Podfile中的语法问题
当前Podfile中该行使用了中文弯引号:pod ‘Flurry-iOS-SDK/FlurrySDK’,需替换为英文直单引号,避免CocoaPods解析依赖时出现规则匹配异常,漏检对应SDK的编译配置。 - 合并冗余的Firebase依赖声明
Podfile内存在多处重复的Firebase配置:重复声明2次pod 'Firebase/Analytics'、同时独立声明pod 'Firebase'和pod 'Firebase/Core'。这类冗余声明会打乱CocoaPods对LevelDB底层组件的链接路径配置,建议将Firebase相关依赖简化为统一的模块声明,删除冗余条目:pod 'Firebase/Core' pod 'Firebase/Auth' pod 'Firebase/Database' pod 'Firebase/Analytics' pod 'Firebase/DynamicLinks' - 校验头文件搜索路径配置
进入Xcode项目Build Settings面板,搜索Header Search Paths,确认对FirebaseCore组件的引用设置为递归遍历(recursive),同时开启Always Use User Search Paths选项,避免Release归档流程未遍历到LevelDB组件内的db目录头文件。 - 废弃配置排查
若使用Xcode 14及以上版本,检查Build Settings中Enable Bitcode选项,将其设置为No。LevelDB这类原生C/C++组件已不兼容Bitcode的归档链接规则,开启该选项会直接触发头文件找不到的编译错误。
内容的提问来源于stack exchange,提问作者Chris Hansen
相关产品推荐
相关产品推荐

