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

Xcode15.2+iOS17.2环境下Ionic项目PhaseScriptExecution编译报错求助

解决Xcode 15.2 + Ionic项目编译错误:Command PhaseScriptExecution failed with a nonzero exit code

针对你的环境(Xcode 15.2、iOS 17.2、Ionic + Node.js 14.21.3、CocoaPods 1.15.2),以下是经过验证的解决方案,按优先级尝试:

1. 修复CocoaPods与Xcode 15的脚本兼容性

Xcode 15对框架嵌入逻辑做了调整,即使你已修改readlink -f,仍需确保Pod配置完全适配:

  • 升级CocoaPods到最新稳定版:
    sudo gem install cocoapods
    
  • 彻底重置Pod依赖:
    cd ios
    pod deintegrate
    rm -rf Podfile.lock
    pod install
    
  • 若仍报错,手动修改Pods-[你的项目名]-frameworks.sh脚本头部,将Shell解释器从/bin/sh改为/bin/bash:
    # 原内容:#!/bin/sh
    # 修改为:#!/bin/bash
    

2. 更新Ionic/Capacitor适配Xcode 15

Ionic项目依赖的Capacitor(若使用)可能存在Xcode 15兼容问题:

  • 更新Capacitor核心及iOS插件:
    npm install @capacitor/core@latest @capacitor/ios@latest
    npx cap sync ios
    
  • 若使用Cordova插件,确保所有插件已更新到支持iOS 17/Xcode 15的版本,移除未维护的旧插件。

3. 调整Xcode Build Settings

  • 打开Xcode项目,找到Build Settings:
    • 将Enable Bitcode设置为No(Xcode 15默认禁用,但部分旧项目可能残留配置)
    • 检查Runpath Search Paths是否包含:
      @executable_path/Frameworks
      @loader_path/Frameworks
      
    • 进入Build Phases,找到[CP] Embed Pods Frameworks,将Shell改为/bin/bash

4. 清理全链路缓存

  • 清理Xcode派生数据:
    rm -rf ~/Library/Developer/Xcode/DerivedData
    
  • 清理npm及Pod缓存:
    npm cache clean --force
    pod cache clean --all
    
  • 重新构建Ionic项目:
    ionic build
    npx cap copy ios
    

5. 验证Node.js版本兼容性

Node.js 14已进入维护期,部分Ionic插件可能对新版本Node更友好:

  • 使用nvm切换到Node.js 16(LTS版本):
    nvm install 16
    nvm use 16
    
  • 重新安装依赖并同步项目:
    rm -rf node_modules package-lock.json
    npm install
    npx cap sync ios
    

内容的提问来源于stack exchange,提问作者Trương Hải Đăng

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 07:17:42