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

Flutter集成pay 1.0.0实现Apple Pay时出现'minimumButonWidth'未找到错误

Flutter集成pay包实现Apple Pay编译错误解决

问题描述

使用Flutter 3.3.9(Dart SDK 2.18.5)集成pay: 1.0.0包开发Apple Pay功能时,出现以下编译错误:

Error: Member not found: 'minimumButonWidth'.
    double width = RawApplePayButton.minimumButonWidth,
                                     ^^^^^^^^^^^^^^^^^
/C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/pay-1.1.0/lib/src/widgets/apple_pay_button.dart:42:43: Error: Member not found: 'minimumButonWidth'.
  })  : assert(width >= RawApplePayButton.minimumButonWidth),

Execution failed for task ':app:compileFlutterBuildDebug'.
> Process 'command 'C:\src\flutter\bin\flutter.bat'' finished with non-zero exit value 1

原因分析

  1. 虽声明依赖pay: 1.0.0,但实际拉取的是pay: 1.1.0版本(大概率是版本约束用了^符号导致自动升级)。
  2. pay: 1.1.0依赖的Flutter SDK版本高于当前的3.3.9,RawApplePayButton.minimumButonWidth是Flutter 3.7+版本新增的静态属性,旧SDK中不存在该成员,因此编译失败。

解决方案

方案1:锁定pay包为1.0.0版本

  • 打开pubspec.yaml,修改pay的依赖声明,去掉版本号前的^符号,强制使用指定版本:
    dependencies:
      pay: 1.0.0
    
  • 执行命令重新拉取依赖:
    flutter pub get
    

方案2:升级Flutter SDK到兼容版本

  • 升级Flutter到3.7及以上版本(适配pay:1.1.0的最低SDK要求),执行升级命令:
    flutter upgrade
    
  • 升级完成后重新编译项目。

方案3:临时代码修复(不推荐)

  • 找到本地pub缓存中的pay-1.1.0包文件,路径为C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/pay-1.1.0/lib/src/widgets/apple_pay_button.dart
  • 将文件中所有RawApplePayButton.minimumButonWidth替换为Apple Pay官方要求的最小宽度数值(如200.0),修改后重新编译。
  • 注意:此方法仅为临时方案,重新拉取依赖后修改会失效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 20:05:00