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

MacBook Pro M1 Pro用Xcode15.2编译Flutter App至iOS17.0.1的iPhone15时遇执行错误

Xcode 15.2 + M1 Pro编译Flutter应用报错解决指南

问题描述

我在搭载M1 Pro芯片的MacBook Pro上,使用Xcode 15.2编译Flutter应用时,反复遇到错误:Command PhaseScriptExecution failed with a nonzero exit code。试过网上能找到的所有方法都没用,想搞清楚这是新版本更新的问题,还是需要调整什么设置?附Podfile截图:
Podfile截图

解决方案

结合Xcode 15的特性和M1芯片的适配情况,给你几个针对性的解决步骤:

  • 修复脚本执行权限
    Xcode 15对脚本的执行权限验证更严格,很多这类报错都是脚本无执行权限导致的:

    1. 打开Xcode,进入项目的Build Phases,找到报错对应的PhaseScriptExecution脚本(比如[CP-User] Generate Specs)
    2. 检查脚本开头是否有#!/bin/sh或#!/bin/bash,没有的话加上再保存
    3. 打开终端,执行命令给脚本加权限:chmod +x ios/Pods/Target Support Files/Pods-<你的项目名>/Pods-<你的项目名>-frameworks.sh(把<你的项目名>换成实际项目名称)
  • 开启Rosetta兼容模式
    部分旧依赖还没适配M1原生架构,试试给Xcode开Rosetta:

    1. 找到Applications里的Xcode,右键选显示简介,勾选使用Rosetta打开
    2. 重启Xcode后,依次执行:flutter clean → flutter pub get → 进入ios目录执行pod install
  • 调整Podfile配置(对应你的截图)
    你的Podfile已经开启了静态框架配置,可以补充以下内容适配Xcode 15:
    在Podfile末尾添加这段代码:

    post_install do |installer|
      installer.pods_project.targets.each do |target|
        flutter_additional_ios_build_settings(target)
        target.build_configurations.each do |config|
          # 关闭bitcode,避免兼容问题
          config.build_settings['ENABLE_BITCODE'] = 'NO'
          # 适配Xcode 15的链接器变更
          config.build_settings['OTHER_LDFLAGS'] = ['-ld64']
        end
      end
    end
    

    保存后重新执行pod install

  • 彻底清理缓存
    缓存残留可能导致各种奇怪问题,执行以下命令清空所有相关缓存:

    rm -rf ~/Library/Developer/Xcode/DerivedData
    flutter clean
    cd ios && pod deintegrate && pod install && cd ..
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 05:40:09