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

React Native项目GitHub Actions iOS构建失败(CopyPlistFile报错)

问题根因

构建报错的核心原因是Xcode执行CopyPlistFile步骤时,无法找到工作流运行环境中/Users/runner/work/ALT/ALT/App/ios/GoogleService-Info.plist路径下的Firebase配置文件。你仅将该文件存储在GitHub Secrets中,未在工作流中将Secret内容写入到Xcode要求的对应路径,导致构建失败。

排查与解决方案

  • 步骤1:在工作流iOS构建步骤前新增配置文件写入逻辑
    你需要先将存储为Secret的plist文件内容解码后写入到指定路径,参考工作流配置如下(需保证你存入GitHub Secrets的是plist文件的base64编码内容):
- name: 生成iOS端Firebase配置文件
  run: |
    echo "$GOOGLE_SERVICE_INFO_PLIST" | base64 --decode > ./App/ios/GoogleService-Info.plist
  env:
    GOOGLE_SERVICE_INFO_PLIST: ${{ secrets.GOOGLE_SERVICE_INFO_PLIST }}

注意此处写入的相对路径需和报错日志中的目标路径完全匹配,Secret名称需和你在仓库后台设置的名称完全一致(大小写敏感)。

  • 步骤2:新增校验步骤确认文件生成正常
    在写入步骤后添加如下配置,可确认文件是否正确生成:
- name: 校验Firebase配置文件
  run: |
    ls -la ./App/ios/
    cat ./App/ios/GoogleService-Info.plist

如果执行后无对应文件输出,检查路径拼写、Secret配置是否正确。

  • 步骤3:检查本地Xcode项目配置
    确认本地Xcode项目中,GoogleService-Info.plist已被添加到对应Target的Build Phases > Copy Bundle Resources列表中,且文件在项目中的路径和工作流写入的路径完全匹配。

  • 步骤4:确认Secret编码正确
    本地生成plist文件的base64编码时,Mac端需执行命令base64 -i GoogleService-Info.plist,将输出的完整字符串复制到GitHub Secrets中,不要携带多余的换行、空格。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 01:57:01