如何在Codemagic上运行原生iOS应用测试?YAML配置报错求助
iOS Codemagic CI/CD YAML配置错误修复方案
1. 修复YAML层级缩进问题
你的配置存在核心结构错误:instance_type、environment、scripts必须作为develop工作流的子节点,但当前配置里它们与develop同级,导致Codemagic无法识别工作流配置。
修正后的完整YAML:
workflows: develop: instance_type: mac_mini_m1 environment: xcode: 14.2 vars: #BUNDLE_ID: "io.codemagic.sample.iosnative" XCODE_PROJECT: "Portfolio.xcodeproj" XCODE_SCHEME: "PortfolioTests" scripts: - name: say hello script: echo "Hello Codemagician!" - name: Run iOS tests script: | set -e # 遇到错误立即退出 xcode-project run-tests \ --project ${XCODE_PROJECT?} \ --scheme ${XCODE_SCHEME?} \ --device "iPhone 12" test_report: build/ios/test/*.xml
2. 修正测试命令参数不匹配问题
原配置中用--workspace参数指向.xcodeproj文件,这是错误的:
--workspace用于指定.xcworkspace工作区文件- 若你的项目用的是
.xcodeproj项目文件,需改用--project参数,同时建议把变量名改为XCODE_PROJECT更准确
3. 额外验证项
- 确保
PortfolioTestsScheme已开启共享:在Xcode中打开项目 → 点击顶部菜单栏Product→Scheme→Manage Schemes,勾选PortfolioTests的Shared选项,提交修改到代码仓库。 - 确认设备兼容性:Xcode 14.2默认支持
iPhone 12模拟器,若仍报错,可尝试替换为iPhone 13等Xcode 14.2自带的设备名称。 - 启用测试报告:取消
test_report的注释,确保路径与Codemagic生成的测试报告路径一致。
内容的提问来源于stack exchange,提问作者agmcoder
相关产品推荐
相关产品推荐

