如何将新标头添加到 Flutter 插件 iOS 项目?

Posted

技术标签:

【中文标题】如何将新标头添加到 Flutter 插件 iOS 项目?【英文标题】:How do I add new Headers to Flutter plugin iOS project? 【发布时间】:2018-10-05 01:06:01 【问题描述】:

我正在开发 ios 端的 Flutter 插件。最初为插件生成的代码包括:

MyPlugin.h MyPlugin.m

我在与插件源文件相同的目录中添加了一个新类:

MyClass.h MyClass.m

当我在MyPlugin.m 中包含MyClass.h 时,一切正常。

当我在MyPlugin.h 中包含MyClass.h 时,构建失败并抱怨找不到MyClass.h

我该怎么做才能将MyClass.h 暴露给MyPlugin.h

我尝试将插件“目标”配置为在“标题”的“项目”部分下包含 MyClass.h,但这没有帮助。

然后我深入研究了文件系统,发现现有的MyPlugin.h 正在符号链接example/ios/Pods/Headers/Public/my_plugin/MyPlugin.hexample/ios/Pods/Headers/Private/my_plugin/MyPlugin.h。但是,我的 MyClass.h 标头没有符号链接到这些位置,我不知道为什么。

我猜我必须更新关于插件的 Podfile 的内容?但我不确定……

【问题讨论】:

你能发布你当前的 podfile 吗? 【参考方案1】:

有人指出我的 Cocoapods (1.3.1) 版本可能是问题所在。

我将 Cocoapods 升级到 1.5.0 并从示例项目中运行 pod install,问题似乎已解决。

【讨论】:

以上是关于如何将新标头添加到 Flutter 插件 iOS 项目?的主要内容,如果未能解决你的问题,请参考以下文章

Flutter:将新元素添加到列表时保持滚动偏移

如何通过 Flutter 插件使用 cocoapods?

ios:如何在没有连接设备的情况下将新的 UDID 添加到配置文件?

如何在 Flutter 插件中调试 iOS 原生代码?

如何将新标头传递给 sendRedirect

将新插件添加到 phonegap 3.4