iOS端Flutter插件开发
1、搭建Flutter开发环境
参考中文文档
https://book.flutterchina.club/chapter1/install_flutter.html (如果执行flutter packages pub publish --dry-run 会提示错误信心,直接执行flutter packages pub publish)
其中需要提别注意:如果你使用的是zsh,终端启动时 source $HOME/.bash_profile 将不会被加载,解决办法就是修改 ~/.zshrc ,在其中添加:source $HOME/.bash_profile
2、开发Flutter插件
2.1、使用Android Studio
新建Flutter项目 选择project type项目创建完成后会自动生成.dart文件,同时在iOS工程里会自动创建插件类FlutterDflPlugin。FlutterDflPlugin为Flutter交互类,在这里可实现Flutter调用原声代码
插件会在GeneratedPluginRegistrant 文件中自动引入使用。
插件类 自动引入使用 flutter插件3、插件上传
3.1 cd 插件目录下执行 flutter pub publish --dry-run,如果没有填写homepage则会提示“Package validation found the following potential issue:* It's strongly recommended to include a "homepage" or "repository" field in your pubspec.yaml” 需要填写homepage,然后根据提示输入y。
3.2 可能会提示License问题,我们可以在github上创建Create a new repository 添加License。
3.3 拷贝License内容到Flutter的License,
重新执行flutter pub publish --dry-run
如果没有问题执行发布
flutter packages pub publish
3.4 如果提示
插件上传成功后 cd example 目录下,执行flutter run,运行demo测试
4、引入插件
1、在pubspec.yaml 文件里增加插件按步骤1、2、3执行
2、完成后回到iOS项目中,可以看到GeneratedPluginRegistrant这里已经自动处理好了
GeneratedPluginRegistrant3、找到FlutterDflPlugin.m 文件,增加交互逻辑判断
5、flutter 插件开发导入第三方framework方法
5.1 在flutter插件的的iOS目录下增加Frameworks文件夹,这里以FlutterBridgeFramework.framework为例,将FlutterBridgeFramework导入到该文件中
5.2,在iOS目录里找到.podspec文件增加 s.vendored_frameworks ='Frameworks/*.framework';然后发布插件执行flutter packages pub publish