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

Xcode编译空Unity iOS项目时出现Command PhaseScriptExecution失败

解决Unity 2022.3.6f1 + Xcode 15 + iOS 17构建报错问题

问题背景

用Unity Editor 2022.3.6f1将空项目切换到iOS平台,导出Xcode工程后,Xcode 15编译失败,报错:
Command PhaseScriptExecution failed with a nonzero exit code
完整日志显示无法检测到兼容的iPhoneOS SDK,尝试将Xcode-Beta重命名为Xcode、修改Run Script的「仅用于安装构建」选项后,错误反而增多。

排查&解决步骤

  • 确认SDK路径与Unity配置匹配

    1. 打开Xcode,点击顶部菜单栏Xcode > Settings > Locations,检查Command Line Tools是否选中Xcode 15;
    2. 打开Unity,进入Edit > Preferences > External Tools,确保iOS > Xcode的路径指向正确的Xcode.app(建议用正式版Xcode 15安装到默认路径/Applications/Xcode.app,避免Beta版改名带来的路径识别异常)。
  • 修复Xcode工程的Run Script
    Unity 2022.3.6f1对Xcode 15的适配存在问题,需手动修改导出工程的脚本:

    1. 打开Xcode工程,选中主工程目标,进入Build Phases标签;
    2. 找到[CP] Embed Pods Frameworks和[CP] Copy Pods Resources两个Run Script,取消「仅用于安装构建」勾选(之前勾了的话改回来),并在脚本开头添加:
      SDKROOT=$(xcrun --sdk iphoneos --show-sdk-path)
      export SDKROOT
      
    3. 找到UnityFramework目标下的相关Run Script,执行同样修改。
  • 验证设备开发者权限

    1. 连接iOS 17设备,通过Xcode的Window > Devices and Simulators确认设备已连接,且在设备的设置 > 通用 > VPN与设备管理中信任你的开发者账号;
    2. 检查主工程Signing & Capabilities,确保选择正确的开发者团队,且开启自动管理签名。
  • 清理缓存重新构建

    1. 在Unity中点击File > Build Settings > Clean Build,清理构建缓存;
    2. 在Xcode中按Cmd+Shift+K清理编译缓存,之后重新编译。

如果以上步骤无效,建议升级Unity到2022.3.x最新补丁版本(官方后续针对Xcode 15做了兼容性修复),或在项目允许的前提下降级Xcode到14.3.1。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 09:33:19