如何将iOS原生框架导入Flutter?

时间:2018-01-25 05:23:03

标签: flutter

我想在此Flutter_blue plugin project中使用Objective C框架CoreBluetooth添加本机iOS的功能。如何将框架导入库中,以便开始使用其API?

更新

CoreBluetooth不适合Flutter项目,因为它不是cocoapod依赖项。所以我做了什么,去cocopods网站,从那里寻找其他蓝牙依赖。您还可以找到有关如何在其中安装依赖项的说明。对我来说,我在插件项目中添加了pod <depdencyname><plugin-project>/example/ios/Podfile。然后将dependency: <dependencyname>添加到<plugin-project>/ios/pubspec

2 个答案:

答案 0 :(得分:1)

如果您希望将一个CocoaPod依赖项添加到Flutter插件的iOS“一半”,我相信正确的方法是更新插件源的/ios文件夹中的podspec文件。我最近在AdMob插件上做了一些工作,其podspec列出了Firebase和Google移动广告的SDK:

https://github.com/flutter/plugins/blob/master/packages/firebase_admob/ios/firebase_admob.podspec

这就是他们如何被包含在构建中。

答案 1 :(得分:1)

我有一段时间遇到同样的问题,并通过将这些行添加到插件目录中iOS /文件夹的podspec文件中找到了解决方案:

  s.preserve_paths = 'yourframework.framework'
  s.xcconfig = { 'OTHER_LDFLAGS' => '-framework yourframework' }
  s.vendored_frameworks = 'yourframework.framework'

然后,在您的Flutter项目中,在iOS文件夹中,只需在终端上运行pod update,以便它可以获取新的依赖项。

您可以通过此问题here找到我发布的完整问题。