将 Pod 依赖项添加到 Flutter 插件类

iKK*_*iKK 6 plugins dependencies ios flutter podfile

最后,我得到了一个自定义 Flutter Plugin 的 MethodChannel 来执行 hello-world。

但现在,我想向插件类的 iOS 部分显式添加依赖项(显然不是 Android 部分......)。

然而,这在某种程度上是自欺欺人,因为 Plugin 类本身就是 Flutter Pod 的一部分。那么这是如何运作的呢?

我在 /iOS/Podfile 中添加了以下内容

target 'Runner' do
  use_frameworks!

  pod `MyPodDependency`
Run Code Online (Sandbox Code Playgroud)

代码编译。

import MyPodDependency失败了。(在我的插件类中,我还对public func handle(_ call: FlutterMethodCall, result: @escaping FlutterResult) {...}代码进行了编程,可以在 ../Pod/../../../../ios/Classes/MyPluginClass.swift 下找到)

我的问题:如何在 Flutter 插件类的 iOS 部分导入 MyPodDependency?

我需要在哪个 Podfile 中添加我的 pod。

我可以在插件类(FlutterMethodCall 的句柄方法所在的位置)中使用任何导入的框架吗?如果是的话,怎么办???

dcg*_*dcg 7

您必须记住,插件必须适用于任何项目,而不仅仅是您的项目。这就是为什么它的依赖项不应该位于项目的 pod 文件中,而应该包含在它自己的依赖项文件中,否则,每个人都必须手动添加项目中使用的所有插件的每个依赖项。

也就是说,您的插件依赖项必须在 .podspec 文件内引用,该文件位于插件的 /ios 目录中。当您在项目中运行“pod install”时,这将执行,获取插件所需的所有外部依赖项。如果您查看现有文件,它已经呈现了一个依赖项:

s.dependency 'Flutter'
Run Code Online (Sandbox Code Playgroud)

按照下面的示例添加其他插件依赖项。

最后,您必须将该插件添加到您的 Flutter 项目中。只需将其添加到 pubspec 文件中,就像处理所有其他插件一样。

  • 我如何从 git 添加依赖项?我需要将 `pod 'SDK-iOS', :git => "https://github.com/cloud payments/SDK-iOS", :branch => "master"` 添加到我的插件中。但 .podspec 文件似乎不允许我这样做。 (3认同)