Unity导出Xcode项目报错“A build only device cannot be used to run this target”求助
问题描述
- 首次尝试将Unity 2D模板项目发布到iOS模拟器,在Unity Build Settings中勾选
Simulator SDK导出Xcode项目后,运行时反复报错:A build only device cannot be used to run this target - 普通Hello World应用可在同一iPhone15 Pro Max模拟器(iOS17.2)正常运行
- 环境配置:Unity 2022.3.17(已安装iOS导出工具)、Xcode 15.2、M1芯片MacBook Air(macOS14.1.1)
可能原因
- Unity导出的Xcode项目架构配置不匹配M1模拟器:M1模拟器采用arm64架构,若项目仅配置了真机arm64或排除了模拟器arm64,会导致无法运行
- Xcode目标设备选择错误:误选了仅支持真机的
Any iOS Device (arm64)选项,而非目标模拟器 - Unity导出时的SDK配置未生效:可能存在Build Settings中
Simulator SDK勾选未正确同步到导出项目的情况
解决方法
方法1:修正Xcode项目架构设置
- 打开导出的Xcode项目,选中项目根节点,切换到
Build Settings标签页 - 搜索
Architectures,将Architectures设置为Standard Architectures (arm64, x86_64),确保包含arm64 - 找到
Excluded Architectures,在Debug配置下取消对arm64的排除(M1 Mac模拟器需要arm64架构) - 将
Build Active Architecture Only在Debug模式下设置为Yes
方法2:确认Xcode目标设备选择正确
- 点击Xcode顶部工具栏的设备选择下拉框
- 在列表的
Simulators分组中,选中正在运行的iPhone 15 Pro Max (iOS 17.2)
方法3:重新校验Unity导出配置
- 回到Unity,打开
File > Build Settings - 确认
Platform为iOS且Simulator SDK已勾选 - 进入
Player Settings > iOS > Other Settings,确认Target SDK设置为Simulator SDK - 清理原有导出项目,重新导出后再尝试运行
方法4:修复Scheme配置
- 在Xcode顶部Scheme下拉菜单中选择
Edit Scheme - 切换到
Run > Info标签页,确认Executable为当前项目目标,Launch设置为Automatic - 确保
Destination选中目标模拟器
内容的提问来源于stack exchange,提问作者BoysheO
相关产品推荐
相关产品推荐

