iOS集成flutter(不使用cocoaPods),flutter模块中使用的第三方无效

☆樱花仙子☆ 提交于 2019-12-10 11:32:31

iOS 集成Flutter不使用cocoaPods

iOS不使用cocoapods集成flutter会发现集成后一部分flutter第三方(插件)不能使用,例如,国际化、本地存储、网络判断、提示框等插件。

使用cocoapods集成会发现这些插件会打包成framework集成在iOS项目中,所以在不使用cocoapods集成的情况下需要把第三方插件打包成framework集成在ios项目中。

解决方法:

在终端打开cd到flutter项目目录下执行flutter build ios --release --no-codesign,执行完成之后在

/flutter项目/build/ios/Release-iphoneos文件下会发现打包好的framework库,如下图:

 

这种情况下打包出的第三方库都是动态库,特别注意的是FlutterPluginRegistrant.framework是静态库

把动态集成到ios项目中并配置Embedded Binaries,如下图

还有一点要特别注意,flutter每次添加新的第三方插件,重新编译后除了添加新的framework,FlutterPluginRegistrant.framework也需要重新更换。

配置完成之后,iOS项目中加载flutter项目的VC需要使用FlutterPluginRegistrant.framework中的GeneratedPluginRegistrant注册

如下图:

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!