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

构建KMM iOS项目时遇‘Command PhaseScriptExecution failed with nonzero exit code’错误怎么办?

解决KMM iOS项目构建时的Command PhaseScriptExecution错误

创建KMM项目时选择Regular framework作为iOS框架分发类型,Android端运行正常,但iOS端构建时出现Command PhaseScriptExecution failed with a nonzero exit code错误,以下是经过验证的解决方法:

常见排查与修复步骤

  • 确认版本兼容性
    确保Xcode版本与Kotlin Multiplatform插件版本匹配,例如Kotlin 1.8+建议搭配Xcode 14.3及以上版本。可通过Android Studio的Settings -> Languages & Frameworks -> Kotlin Updates查看插件版本,Xcode版本在About Xcode中确认。

  • 清理缓存后重新构建

    1. Xcode中执行Product -> Clean Build Folder(快捷键Shift+Command+K)
    2. Android Studio中执行File -> Invalidate Caches...,勾选Invalidate and Restart
    3. 删除iOS项目的DerivedData文件夹,路径一般为~/Library/Developer/Xcode/DerivedData/[项目名]-xxxxxx
    4. 重新同步并构建项目
  • 检查Run Script配置

    1. 打开Xcode项目的Build Phases,找到Run Script阶段
    2. 确认脚本内容为KMM自动生成的Gradle调用命令,若脚本异常,执行Android Studio的File -> Sync Project with Gradle Files重新同步
    3. 给脚本添加执行权限:终端进入项目目录,执行chmod +x [脚本文件路径]
  • 验证架构设置

    1. Xcode的Build Settings中,将Architectures设为Standard Architectures (arm64, x86_64)
    2. Build Active Architecture Only在Debug模式设为Yes,Release模式设为No,避免架构不兼容
  • 检查依赖版本一致性
    确保KMM共享模块中iOS相关依赖(如kotlin-stdlib-ios、coroutines-ios)的版本与Kotlin版本完全一致,避免版本冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 03:32:34