iOS 集成Flutter不使用cocoaPodsios
iOS不使用cocoapods集成flutter会发现集成后一部分flutter第三方(插件)不能使用,例如,国际化、本地存储、网络判断、提示框等插件。bash
使用cocoapods集成会发现这些插件会打包成framework集成在iOS项目中,因此在不使用cocoapods集成的状况下须要把第三方插件打包成framework集成在ios项目中。网络
解决方法:iphone
在终端打开cd到flutter项目目录下执行flutter build ios --release --no-codesign,执行完成以后在ui
/flutter项目/build/ios/Release-iphoneos文件下会发现打包好的framework库,以下图:spa
这种状况下打包出的第三方库都是动态库,特别注意的是FlutterPluginRegistrant.framework是静态库插件
若是想其余库为.a静态库能够把"根目录/ios/Podfile" 文件里的 use_frameworks!删除code
#加use_frameworks!编译后第三方插件会生成.framework, use_frameworks! #不加use_frameworks!第三方插件会生成.a;
把动态集成到ios项目中并配置Embedded Binaries,以下图blog
还有一点要特别注意,flutter每次添加新的第三方插件,从新编译后除了添加新的framework,FlutterPluginRegistrant.framework也须要从新更换。ip
配置完成以后,iOS项目中加载flutter项目的VC须要使用FlutterPluginRegistrant.framework中的GeneratedPluginRegistrant注册
以下图: