Flutter iOS端razorpay_flutter与image_cropper的use_frameworks!冲突如何解决
Flutter iOS端razorpay_flutter与image_cropper配置冲突解决方案
方案1:局部启用use_frameworks!(无需升级现有依赖)
该方案无需修改你当前使用的razorpay_flutter: ^1.2.7和image_cropper: ^1.4.1版本,仅调整Podfile配置即可解决冲突:
- 打开iOS项目根目录下的
Podfile文件,删除或注释掉全局声明的use_frameworks!代码 - 在Podfile中添加以下代码,仅给Razorpay单独启用动态库配置:
# 仅给指定依赖启用动态库 dynamic_frameworks = ['Razorpay'] pre_install do |installer| installer.pod_targets.each do |pod| if dynamic_frameworks.include?(pod.name) def pod.dynamic_framework? true end end end end
- 执行以下命令重置依赖:
- 删除ios目录下的
Podfile.lock、Pods文件夹、Runner.xcworkspace文件 - 执行
flutter clean - 执行
flutter pub get - 进入ios目录执行
pod install --repo-update
方案2:升级依赖包(一劳永逸)
image_cropper从2.0.0版本开始已经修复了底层依赖TOCropViewController与use_frameworks!的兼容问题,你可以直接升级依赖版本解决冲突:
- 将pubspec.yaml中的image_cropper版本升级至
^2.0.0以上的兼容版本,同步适配新版API调用规则 - 保留Podfile中全局的
use_frameworks!配置即可正常运行
注意事项
- 两个包均要求iOS最低支持版本为12.0,需确认Podfile开头的
platform :ios, '12.0'配置已开启且版本符合要求 - 若执行pod install时提示权限相关报错,可在命令前加
sudo执行
内容的提问来源于stack exchange,提问作者suraj sharma
相关产品推荐
相关产品推荐

