最后,我得到了一个自定义的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吗?如果是,怎么办?
答案 0 :(得分:1)
您必须记住,插件必须在任何项目中都能工作,而不仅仅是在您的项目中。这就是为什么它的依赖项不应该放在项目的pod文件中,而应该包含在它自己的依赖项文件中的原因,否则,每个人总是必须手动添加项目中使用的所有插件的每个依赖项。
也就是说,您的插件依赖项必须在插件的/ ios目录中的.podspec文件内引用。当您在项目中运行“ pod install”时,将执行此操作,以获取插件所需的所有外部依赖项。 如果您查看现有文件,它已经呈现出一种依赖性:
s.dependency 'Flutter'
按照示例进行操作,并在下面添加其他插件依赖项。
最后,您必须将插件添加到Flutter项目中。只需将其添加到pubspec文件中即可,就像使用其他所有插件一样。