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

Flutter iOS构建失败 StripeApplePay pod Swift编译错误 安卓运行正常

Flutter iOS构建报错:StripeApplePay Pod Swift类型不匹配编译错误

问题表现

  • 安卓端应用可正常构建、运行,仅iOS端构建失败
  • 报错指向StripeApplePay pod依赖的Swift编译错误
  • 已多次尝试删除Podfile.lock、Pods文件夹后重新执行pod install,错误仍复现
  • 当前开发环境:为适配iOS 16系统,使用Xcode 14.0 Beta版本进行开发

具体报错信息

Swift Compiler Error (Xcode): '(any PKPaymentAuthorizationControllerDelegate) -> ((PKPaymentAuthorizationController, PKShippingMethod, @escaping (PKPaymentRequestShippingMethodUpdate) -> Void) -> Void)?' is not convertible to 'pkDidSelectShippingMethodSignature' (aka 'Optional<((PKPaymentAuthorizationControllerDelegate) -> (PKPaymentAuthorizationController, PKShippingMethod, @escaping (PKPaymentRequestShippingMethodUpdate) -> ()) -> ())>') /Users/apple/Desktop/Cool%20Panda%20Apps/provider_flutter/ios/Pods/StripeApplePay/StripeApplePay/StripeApplePay/Source/ApplePayContext/STPApplePayContext.swift:239:53

相关截图

错误信息截图
项目Podfile配置截图

问题根因

Xcode 14.0 Beta搭载的iOS 16 SDK调整了PassKit框架中PKPaymentAuthorizationControllerDelegate相关代理方法的闭包类型声明,22.8.0版本之前的StripeApplePay SDK未适配Beta版SDK的签名变更,触发Swift强类型校验失败,该问题和本地pod安装缓存、Podfile基础配置无关。

修复方案

  1. 升级Flutter端Stripe相关依赖
    打开项目根目录pubspec.yaml,将flutter_stripe、stripe_apple_pay依赖升级到5.1.0及以上版本,执行flutter pub get拉取最新依赖包。
  2. 锁定iOS端Stripe依赖版本与编译配置
    打开iOS目录下的Podfile,在post_install钩子中添加如下配置,强制使用适配Xcode 14的StripeApplePay版本:
    post_install do |installer|
      installer.pods_project.targets.each do |target|
        flutter_additional_ios_build_settings(target)
        # 统一Stripe相关依赖的最低部署版本
        if ['StripeApplePay', 'StripePaymentSheet', 'StripePayments', 'StripeCore'].include? target.name
          target.build_configurations.each do |config|
            config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.0'
          end
        end
      end
    end
    
  3. 全量清理缓存后重新安装依赖
    在项目根目录依次执行以下命令,清理所有旧构建缓存后重新安装依赖:
    flutter clean
    rm -rf ios/Pods ios/Podfile.lock ~/Library/Developer/Xcode/DerivedData/*
    flutter pub get
    cd ios
    pod deintegrate
    pod install --repo-update
    cd ..
    
  4. 重新打开iOS目录下的.xcworkspace文件构建即可,若首次构建仍报相同错误,在Xcode菜单栏执行Product > Clean Build Folder后再次构建即可。

注意:Xcode 14 Beta属于测试版本,本身存在Swift编译稳定性问题,若后续遇到其他非代码逻辑导致的编译错误,优先清理Xcode构建缓存重试。

内容的提问来源于stack exchange,提问作者Sheikh Hassan Majeed

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 04:39:21