
正文
flutter编译的so库,flutter 编译ios
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
flutter与原生混编(iOS)
flutter在iOS中的使用,主要是以FlutterViewController为载体,并在其内部采用FlutterEngine对视图进行渲染。
执行完毕后,Flutter module将会创建在ios项目/my_flutter目录下 将Flutter模块嵌入到现有iOS应用程序中有两种方式:此方法需要所有的相关开发的人员安装 Flutter 环境。
用 [Xcode] 打开工程项目,在 Build Settings 的最下方找到 User-Defined,点击 + 按钮,添加一个键为 FLUTTER_BUILD_MODE ,debug设置profile模式,release设置release 模式。
flutter run flutter pub get flutter create ..ios文件夹生成之后,回到原生项目pod install即可。
更改XCode编译模式:使用Release模式编译,这个时候Flutter编译方式为AOT,可正常启动;不更改XCode编译模式:更改Flutter编译配置,强制设置为Release。
flutter_webView_plugin :在iOS中使用的就是原生的WKWebView,所以总体和 native WKWebView 表现差不多。如果是混编项目中,因为它被包了一层,所以页面加载上存在一定的劣势,所以混编项目中仍然推荐使用 WKWebView。
相关问答
Q1: 已有iOS项目集成Flutter遇到的一些坑
用 [Xcode] 打开工程项目,在 Build Settings 的最下方找到 User-Defined,点击 + 按钮,添加一个键为 FLUTTER_BUILD_MODE ,debug设置profile模式,release设置release 模式。
通过module的形式将flutter嵌入已有的ios项目中后,打包发布时可能会遇到报 Flutter.framework包含了x86_64框架问题,出现这个问题基本是因为粗心。怎么构建flutter module项目这里不提了,官方和网上博客都有。
最近在写flutter应用,需要集成蓝牙功能,用了一个第三方的库,踩了一些坑,做一下记录。
在flutter官网上推荐了iOS项目中两种混编方式:笔者在采用两种集成方式的过程中,因为iOS项目结构设计导致这两种简单的集成方式都有些麻烦,所以在实践中更改和优化了集成方式,使之在笔者的项目中能够更加简单和快速的集成。
Q2: Flutter打包产物
lib目录,libflutter.so文件,两个目录armeabi-v7,arm64-v8a,支持arm平台32和64。 asset目录,新增flutter_asset目录。 在release模式,libapp.so替代flutter老版本的一些dart产物,如下。
这些值都是使用中用到的name,例如,抽取apk中asset资源时,flutter_assets打包目录,打包产物data名称。 initResources方法, 初始化资源。
结合flutter attach的方式去调试。
关于flutter编译的so库和flutter 编译ios的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







