1.复制flutter项目到ios项目统计目录中
2.在项目的podfile文件中添加下面的代码
flutter_application_path = '../hmc_flutter_module'
load File.join(flutter_application_path, '.ios', 'Flutter', 'podhelper.rb')
install_all_flutter_pods(flutter_application_path)
其中hmc_flutter_module添加的flutter项目名称
3.打开Xcode关闭bitcode配置Build Settings->Build Options->Enable Bitcode
4.添加编译脚本,打开Xcode在 Build Phases中添加New Run Script Phase在里面填入如下脚本 【这一步不需要了】
"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" build
"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" embed
5.项目的配置完成现在需要生成一些配置文件
a. 进入原生项目的flutter模块目录中执行flutter packages get命令
b. 回到原生项目根目录执行pod install
到此为止我们的原生项目就已经集成好了flutter项目了。
Flutter - 编译常见问题
问题一: Flutter /bin/sh: /packages/flutter_tools/bin/xcode_backend.sh: No such file or directory
1.检查flutter项目路径下.iOS/Flutter/Generated.xcconfig文件里的路径是否配置正确
2.检查build Settings -> User-defined下路径是否正确
3.因为我的flutter项目是用win系统下开发的,在编译的时候生成的ios文件夹下面的目录没有podfile文件
找到原win下的flutter项目的podfile文件,拷贝一份到mac该目录下,然后在mac下用Android studio进行编译,iOS的文件夹下面的目录结构是这样的
问题二:[!] The following Swift pods cannot yet be integrated as static libraries:
问题三:Apple Mach-O linker (id) Error
问题四:FlutterSDK/flutter **.h: No such file or directory
问题五:pod install
错 [!] No podspec found for `device_info_plus` in `../hmc_flutter_module/.ios/.symlinks/plugins/device_info_plus/ios`
问题六:ios打包Adhoc,真机安装运行闪退
1:cd到flutter项目目录下,输入"flutter build ios"
配置
用Xcode打开工程项目,在Build Settings的最下方找到User-Defined,点击+按钮,添加一个键为FLUTTER_BUILD_MODE,值为release的配置。
再次运行到真机上,断开Xcode运行也不会崩溃了
问题七:flutter项目引入新的包后,要在原生项目运行pod -install --no-repo-update
提示:
当你在 my_flutter/pubspec.yaml 改变了 Flutter plugin 依赖,需要在 Flutter module 目录运行 flutter pub get,来更新会被podhelper.rb 脚本用到的 plugin 列表,然后再次在你的应用目录 some/path/MyApp 运行 pod install.
网友评论