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

Flutter 2.2.2执行pod install报错:Podfile后安装钩子处理失败

解决方案:Flutter pod install 部署目标不一致问题

问题核心

报错源于IPHONEOS_DEPLOYMENT_TARGET存在多值冲突,同时post-install钩子执行逻辑存在问题——你的Podfile虽尝试统一部署目标,但未覆盖主项目target、Extension等场景,且钩子内代码顺序有误。

具体修复步骤

1. 修正Podfile的post_install钩子

替换原post_install代码为以下内容,确保同时处理Pods依赖和主项目的所有target:

post_install do |installer|
  # 统一所有Pods依赖的部署目标
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '14.0'
    end
    flutter_additional_ios_build_settings(target)
  end

  # 统一主项目(Runner和Extension)的部署目标
  installer.project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '14.0'
    end
  end
end

原代码将flutter_additional_ios_build_settings(target)放在build_configurations循环内,会导致重复执行引发异常,需移至循环外。

2. 手动统一Xcode项目构建设置

打开ios/Runner.xcworkspace:

  • 选中Runner项目,在Build Settings中搜索Deployment Target,确保Debug、Release、Profile三个配置的iOS Deployment Target均设为14.0
  • 选中OneSignalNotificationServiceExtension target,重复上述操作,将其所有配置的部署目标也设为14.0

3. 彻底清理缓存并重新构建

执行以下命令:

# 清理Flutter缓存
flutter clean
# 删除iOS端缓存文件
rm -rf ios/Pods ios/Podfile.lock ios/Runner.xcworkspace
# 获取Flutter依赖
flutter pub get
# 进入iOS目录执行pod安装
cd ios && pod install

4. 可选:调整CocoaPods版本

Flutter 2.2.2与CocoaPods 1.11.x存在兼容性风险,可尝试降级至1.10.2:

sudo gem uninstall cocoapods
sudo gem install cocoapods -v 1.10.2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 16:20:46