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

Xcode Build报错:Tests需在具体设备运行,终端与GitLab流水线构建遇阻

解决xcodebuild测试报错的方案

1. 检查Scheme的测试目标配置

打开Xcode,进入Scheme编辑界面(Product > Scheme > Edit Scheme):

  • 切换到Test选项卡
  • 确认每个测试目标(Tests、UITests)的Destination设置不是"Any iOS Device",需选择具体的模拟器或设备类型
  • 确保测试目标的部署版本与项目最低部署版本(iOS 13.0)匹配

2. 验证指定的模拟器是否存在

执行以下命令查看本地可用的iOS模拟器列表:

xcrun simctl list devices

检查输出中是否存在iPhone 14, OS=13.0的模拟器:

  • 若不存在,可调整destination参数为已存在的模拟器,比如:
    xcodebuild test -project Project.xcodeproj -scheme Scheme -destination 'platform=iOS Simulator,name=iPhone 14,OS=latest' | xcpretty -s
    
  • 或通过Xcode的Window > Devices and Simulators窗口添加对应版本的iPhone 14模拟器

3. 用UDID明确指定目标设备(可选)

如果模拟器名称存在歧义,可直接使用UDID指定目标,示例:

xcodebuild test -project Project.xcodeproj -scheme Scheme -destination 'id=模拟器UDID' | xcpretty -s

UDID可从xcrun simctl list devices的输出中获取

4. GitLab流水线环境额外检查

若在GitLab流水线执行,需确认:

  • Runner环境已安装对应iOS 13.0的模拟器镜像
  • Runner具备访问Xcode和模拟器的权限,必要时在流水线脚本中先启动模拟器:
    xcrun simctl boot "iPhone 14"
    

报错核心原因:测试目标的运行配置与命令指定的具体设备不匹配,或命令指定的模拟器不存在,导致xcodebuild fallback到"Any iOS Device",而测试目标不允许在该通用设备上运行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 09:47:08