You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity构建iOS平台时CocoaPods依赖冲突及版本问题求助

解决Unity构建iOS时的CocoaPods依赖冲突及头文件缺失问题

核心问题分析

问题根源是Unity Firebase插件生成的Podfile版本与实际插件版本不一致,导致依赖拉取时出现版本冲突;同时直接打开xcodeproj而非workspace,会导致Pods头文件无法被Xcode识别。


分步解决方案

1. 手动统一Podfile中的Firebase版本并锁定兼容依赖

Unity显示Firebase版本为12.4.1,但Podfile用了11.4.2,这是冲突的核心。进入Unity生成的Xcode项目目录,修改Podfile,强制指定所有Firebase组件使用12.4.1,并锁定GTMSessionFetcher的兼容版本:

platform :ios, '12.0'
use_frameworks!

# 统一所有Firebase组件版本为12.4.1,根据你实际使用的组件添加
pod 'Firebase/Core', '12.4.1'
pod 'Firebase/Auth', '12.4.1'
pod 'Firebase/Analytics', '12.4.1'

# 锁定与Firebase 12.4.1兼容的GTMSessionFetcher版本
pod 'GTMSessionFetcher/Core', '3.3.0'

# 指定对应版本的GoogleSignIn
pod 'GoogleSignIn', '7.1.0'

2. 彻底清理缓存并重新初始化CocoaPods

  • 删除Unity构建残留:在Unity编辑器中删除Library/ios-build目录,重新执行iOS构建。
  • 清理CocoaPods本地缓存和仓库:
    pod cache clean --all
    rm -rf ~/.cocoapods/repos/trunk
    pod repo update
    
  • 进入Xcode项目目录,删除旧的Pods产物:
    rm -rf Pods Podfile.lock Unity-iPhone.xcworkspace
    
  • 重新执行安装:
    pod install
    

3. 修复Unity Firebase插件的版本配置问题

检查Unity项目中Firebase插件的配置脚本:

  • 前往Assets/Firebase/Editor目录,找到FirebasePodfileGenerator.cs或类似命名的文件,查看是否硬编码了11.4.2版本号,如果是,修改为12.4.1。
  • 如果找不到对应脚本,直接重新下载并导入Firebase 12.4.1的Unity插件包,覆盖旧文件,避免插件文件损坏导致版本配置错误。

4. 解决GoogleSignIn头文件缺失问题

  • 必须打开Unity-iPhone.xcworkspace而非Unity-iPhone.xcodeproj,CocoaPods生成的依赖只有在workspace中才能被Xcode正确识别。
  • 检查Xcode的Build Settings:
    1. 选中Unity-iPhone target,进入Build Settings -> Header Search Paths。
    2. 确保包含$(inherited)和${PODS_ROOT}/Headers/Public/GoogleSignIn,并设置为recursive。
  • 清理Xcode缓存:执行Product -> Clean Build Folder,然后重新编译项目。

5. 验证CocoaPods环境兼容性

  • 升级到CocoaPods最新稳定版(旧版本1.10.2不支持Firebase 12.x的依赖结构):
    gem install cocoapods
    
  • 开启Unity中的「Use Shell to Execute Cocoapod Tool」选项,使用系统Shell执行CocoaPods命令,避免内置工具的版本问题。

内容的提问来源于stack exchange,提问作者homuhomy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 02:07:20