现有iOS工程引入flutter配置方式-记录问题和经验
现有iOS项目引入flutter模块。
方式一:直接cocoapods引入fluttermodule(flutter工程必须是module类型)工程的路径。
这个网上资料很多,也是flutter官网推荐的方式,可以参考这篇文章:https://www.jianshu.com/p/e3e689e77280
优点是快,方便。 缺点是 原生项目和flutter项目 太过依赖
方式二:将flutter工程打包成framework,再放入iOS项目工程里。
可以参考文章:https://www.jianshu.com/p/bad5d57a086b 这里写的方式二
1. 命令行里,cd到flutter工程目录下,运行命令输出framwork:flutter build ios-framework --output=some/path/MyApp/Flutter/ 可以加--no-profile 之类的 去掉一些打包项比如:
flutter build ios-framework --no-profile --output=/Users/yzx/Desktop/MyApp/Flutter
2. 在iOS工程的 target, Build Settings 里 找到 Framework Search Paths , 增加 $(PROJECT_DIR)/Flutter/$(CONFIGURATION) 这里不要选择debug或者release,而是编辑总体项自动选择 。 将Flutter文件要放在对应路径位置。PROJECT_DIR工程目录下。
3.把打包出来的Flutter文件里的所有动态链接库(随意选Debug或Release一个目录中的)(我选的是Release)拖入工程General -> Framework,Libraries那面板,设置为Embed & Sign(这一步我倒是没碰到,也不知道是不是最新fluttersdk的缘故)。(注意:静态库,比如FlutterPluginRegistrant.framework不要加入,否则不能上架AppStore,判断其他packge插件生成的framework是静态还是动态,请看官网给的链接)
注意,FlutterPluginRegistrant.framework不要加入,我这边加入尝试,发现工程运行的时候提示 Unable to install