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

时间:2019-01-10 21:50:51

标签: ios plugins flutter dependencies podfile

最后,我得到了一个自定义的Flutter插件的MethodChannel来打个招呼。

但是现在,我想将依赖项显式添加到Plugin Class的iOS部分(显然不是添加到Android部分...)。

但是,由于插件类本身是Flutter Pod的一部分,所以这在某种程度上咬了蛇的故事。那么这是如何工作的?

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

target 'Runner' do
  use_frameworks!

  pod `MyPodDependency`

代码会编译。

但是import MyPodDependency失败。 (在我的插件类中,我也在其中编程public func handle(_ call: FlutterMethodCall, result: @escaping FlutterResult) {...}代码,该代码位于../Pod/../../../../ios/Classes/MyPluginClass.swift下)

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

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

我可以在Plugin类(FlutterMethodCall的handle方法所在的位置)内使用任何导入的Framework吗?如果是,怎么办?

1 个答案:

答案 0 :(得分:1)

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

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

s.dependency 'Flutter'

按照示例进行操作,并在下面添加其他插件依赖项。

最后,您必须将插件添加到Flutter项目中。只需将其添加到pubspec文件中即可,就像使用其他所有插件一样。