Unity空Vision OS项目Xcode构建报错:Command PhaseScriptExecution失败
解决Unity构建VisionOS后Xcode中GameAssembly的PhaseScriptExecution报错
排查方向1:GameAssembly架构兼容性
- Unity 2022.3.8f1对VisionOS的架构支持可能与Xcode beta版本存在适配冲突,检查并调整Unity构建设置:
- 打开Unity的
Player Settings→Other Settings - 确认
Architecture设置为Universal(适配VisionOS),避免手动指定单一架构 - 勾选
Strip Engine Code后,在Linker Flags中添加-weak-lSystem链接器标记
- 打开Unity的
排查方向2:Xcode构建脚本权限修复
- PhaseScriptExecution报错常与脚本执行权限不足有关,手动处理GameAssembly相关脚本:
- 在Xcode项目中定位到
Frameworks/GameAssembly.framework/Support/路径下的symlink_unity_libs.sh脚本 - 右键选择
Show in Finder,打开脚本简介,在共享与权限中确保当前用户拥有读取与写入权限,并勾选应用到包含的项目 - 返回Xcode,执行
Product→Clean Build Folder(快捷键Shift+Cmd+K)清理缓存后重新构建
- 在Xcode项目中定位到
排查方向3:清理Unity与Xcode的旧缓存
- 旧构建缓存可能导致版本冲突,执行以下清理操作:
- 关闭Unity,删除项目根目录下的
Library、Temp、Obj文件夹 - 打开Xcode的
Settings→Locations,点击DerivedData路径旁的箭头,删除对应项目的缓存文件夹 - 重新打开Unity,重新生成Xcode项目
- 关闭Unity,删除项目根目录下的
排查方向4:调整Xcode构建系统选项
- Xcode 15 beta的新构建系统可能存在兼容性问题,临时调整设置:
- 在Xcode中选择
File→Project Settings - 将
Build System从New Build System切换为Legacy Build System - 在
Build Settings中找到Enable Bitcode,设置为No(VisionOS当前对Bitcode的支持尚未完善)
- 在Xcode中选择
内容的提问来源于stack exchange,提问作者MuhObaid
相关产品推荐
相关产品推荐

