如何在flutter插件中导入外部iOS框架?

Lor*_*ice 7 xcode ios ios-frameworks cocoapods flutter

我正在使用RTSP协议为流视频做一个颤动的插件.我没有问题为Android开发它,但在iOS中事情更复杂.我必须使用外部库(SGPlayer)来让玩家工作.我还下载了使用这个库的演示,似乎工作正常.这个库不在Cocoapods上,我需要将它从我的文件系统直接导入到插件项目中.我想要使​​用的插件的下载和编译文件结构如下所示:

外部库文件结构

我的问题是将".framework"扩展文件正确地添加到iOS项目中,我可以使用它来开发flutter插件(iOS部分).

更新: 我使用此链接中的说明使用框架构建项目:https://github.com/flutter/flutter/issues/17978

现在的问题是,在编译框架时,它会改变伞形头,因为我认为它不是使用框架module.modulemap而是另一个.结果是导入了一些头和实现,而不是全部.

gee*_*ano 5

1.放置myFramework.framework到iOS插件文件夹/ios ex: myPlugin/ios

2.更新iOS插件文件:myPlugin/ios/myPlugin.podspec 在文件底部“end”上方添加以下行

s.vendored_frameworks = 'myFramework.framework'
Run Code Online (Sandbox Code Playgroud)

在终端中:cd to myPlugin/example/ios 运行命令

pod install
Run Code Online (Sandbox Code Playgroud)

或者

pod update
Run Code Online (Sandbox Code Playgroud)

现在我们可以通过在XCode中打开iOS项目(example/ios/Runner.xcworkspace)找到iOS插件代码,然后转到


swi*_*eek 1

@Lorenzo,您可以打包您的插件并制作私人 CocoaPod 或 Carthage 存储库。 这是一篇很好的文章howtos