Flutter 不断导入旧版本的 iOS 插件

Nud*_*dge 5 ios dart cocoapods flutter

我创建了一个插件,可以在以下网址找到:https://pub.dartlang.org/packages/upetch_paysquare_service#-versions-tab-

我在单独的 flutter 项目的 pubspec 中导入了插件,如下所示

upetch_paysquare_service: ^0.0.7
Run Code Online (Sandbox Code Playgroud)

安卓部分工作正常。当我在 Xcode 中打开项目以在 iOS 设备上运行时,出现错误消息could not find file included pods..

所以我决定更新我的 pod,我去了终端,我不断收到错误消息,说我没有在插件中指定任何 swift 版本,但我在插件项目的 pod 文件中指定了 swift 版本,如下所示

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['SWIFT_VERSION'] = '4.2'  # required
      config.build_settings['ENABLE_BITCODE'] = 'NO'
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

我的主要问题是每当我执行pod update或时pod install,安装的插件版本是 0.0.2,但我在我的pubspec.yaml文件中导入版本 0.0.7。

这是截图

在此输入图像描述

Mar*_*ura 4

对于你的情况,我查看了 github 上的插件源代码,发现你没有更新文件中插件的版本upetch_paysquare_service.podspec

这是您当前的版本:

Pod::Spec.new do |s|
  s.name             = 'upetch_paysquare_service'
  s.version          = '0.0.2'#I Think you should update this field with '0.0.7'
  s.summary          = 'A Flutter plugin for RazorPay SDK'
s.description = <<-DESC
Run Code Online (Sandbox Code Playgroud)

尝试将您的插件更新为:

Pod::Spec.new do |s|
      s.name             = 'upetch_paysquare_service'
      s.version          = '0.0.7' #New Version 
      s.summary          = 'A Flutter plugin for RazorPay SDK'
    s.description = <<-DESC
Run Code Online (Sandbox Code Playgroud)

此更改可以帮助正在使用您的插件的应用程序在开发人员运行时获取当前版本pod install or pod update

我为什么要讲这个?

好吧,几天前我也遇到了和你一样的问题,但情况不同。就我而言,我正在开发一个应用程序,所有插件和版本在 Android 端都运行得很好,但当我在 iOS 平台上开始时,情况就不太好了。在 iOS 方面,所有插件都带有我在 pubspec 文件中声明的不同版本,主要是“0.0.1”版本,并且我能够解决更新specific_plugin.podspec每个插件的文件的问题。我真的不知道这是否是解决这个问题的正确方法,但就我而言,它有效!

但有一个例外!就我而言,geolocator 插件是唯一一个在 pubspec 文件中声明正确版本的插件,我看到在他的geolocator.podspec 文件中,当前版本已在s.version属性中更新。我想pod update or pod install阅读此字段可以下载正确的插件版本。