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

iOS/Xcode14环境下Apollo从0.4.0(CocoaPods)升级至SPM版1.0.7遇问题求助

解决Apollo 1.0.7 SPM升级后ApolloCodeGenLib错误的方案

我之前成功把CocoaPods集成的Apollo 0.4.x升级到了1.0.7的SPM版本,遇到过一模一样的ApolloCodeGenLib错误,问题出在旧配置残留和生成步骤的细节上,给你整理下可行的解决步骤:

  • 彻底清理旧版CocoaPods残留
    检查项目的Build Phases,删掉所有和旧版Apollo相关的脚本(比如之前调用apollo-codegen的自定义脚本,或者Pods自动添加的Apollo构建脚本),这些脚本大概率还在引用ApolloCodeGenLib的路径。另外,确认项目的Frameworks、Libraries and Embedded Content里没有残留旧的Apollo相关框架。

  • 清理Xcode缓存
    按Command+Shift+K清理当前项目构建缓存,然后手动删除Derived Data:打开Finder,前往~/Library/Developer/Xcode/DerivedData,找到对应项目的文件夹删掉,避免旧缓存干扰。

  • 检查apollo-codegen-config.json配置
    打开生成的配置文件,确认以下几个关键参数:

    • schemaName是你设置的Schemas
    • moduleType为embeddedInTarget
    • targetName准确对应你的MyAppName
      确保没有任何和ApolloCodeGenLib或旧版路径相关的配置项。
  • 正确关联生成的Schemas目录
    把cli生成的Schemas目录拖进Xcode时,选择「Create groups」,并确保勾选的目标是MyAppName,不要勾选「Copy items if needed」——因为后续cli会自动更新这个目录的内容,复制后会导致本地副本和cli生成的内容不一致。

  • 重新生成代码
    先删除现有Schemas目录,然后重新运行:

    ./apollo-ios-cli generate
    

    生成完成后检查Schemas里的代码,确认没有import ApolloCodeGenLib的语句(旧版生成的代码会有这个,新版1.0.7不会)。

  • 验证SPM依赖
    进入Xcode的Project设置 -> Package Dependencies,确认只添加了Apollo、apollo-ios-cli、Apollo-Websocket三个包,没有额外引入ApolloCodeGenLib。

按照上面的步骤走一遍,基本就能解决ApolloCodeGenLib相关的编译错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 15:35:25