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

求助:Github Actions执行xcodebuild时项目文件不存在的报错问题

问题分析

你遇到的报错根源有三个:

  1. 缺少代码拉取步骤:Github Actions Runner默认不会自动拉取仓库代码,必须通过actions/checkout步骤将远程仓库代码同步到Runner工作目录,否则工作目录为空,自然找不到Xcode项目文件。
  2. YAML语法错误:runs-on属性没有正确缩进在build-and-test job下,导致Job配置解析异常。
  3. 项目路径不匹配:远程仓库与本地项目的命名差异,导致xcodebuild命令中的路径与实际目录结构不符。
修复后的完整配置文件
name: Swift

on:
  push:
    branches: [ "main" ]
  pull_request:
    branches: [ "main" ]

jobs:
  build-and-test:
    runs-on: macos-latest

    steps:
    - name: Checkout repository code
      uses: actions/checkout@v4  # 新增:拉取远程仓库代码到Runner工作目录

    - name: Select Xcode 14.2
      run: sudo xcode-select -switch /Applications/Xcode_14.2.app

    - name: Build and run unit tests
      # 适配远程仓库根目录直接包含ProjectName.xcodeproj的情况
      run: xcodebuild clean build test -project ProjectName.xcodeproj -scheme 'ProjectNameUnitTests' -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 14' ONLY_ACTIVE_ARCH=NO CODE_SIGNING_REQUIRED=NO
路径适配补充

如果推送代码时,你是将本地ProjectName文件夹整体推送到远程仓库(即远程仓库根目录下存在ProjectName文件夹,内部才是ProjectName.xcodeproj),则修改build-and-test步骤的命令路径:

xcodebuild clean build test -project ProjectName/ProjectName.xcodeproj -scheme 'ProjectNameUnitTests' -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 14' ONLY_ACTIVE_ARCH=NO CODE_SIGNING_REQUIRED=NO
验证方式

直接访问Github上的ProjectName_Test仓库,确认根目录下是直接存在ProjectName.xcodeproj,还是有ProjectName文件夹包裹项目文件,以此确定最终路径写法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 03:13:17