Flutter 混合开发填坑一---iOS篇

调试环境

1、 Mac
2、 Flutter SDK Version 2.10.3
3、 Xcode 13.3
4、 引入方法:Pod install

问题1:模拟器运行Flutter页面出现白屏或者Log内出现

flutter : Failed to find assets path for “Frameworks/App.framework/flutter_assets“

原因:App.framework未加载成功

解决方法:项目执行完pod install后,打开原生项目,在Pods target里,找到Targets Support Files--Pods-jybdShop--Pods-jybdShop-frameworks.sh,检查最后install_framework是否缺少App.framework,如果缺少这条语句,在debug和release模式下添加:

install_framework "${PODS_XCFRAMEWORKS_BUILD_DIR}/Flutter/App.framework"
image.png

编译运行

问题2:iOS需要真机调试(拔掉USB运行)或者archive打Debug包,需要手动修改flutter的配置文件,步骤如下:

1、打开flutter sdk文件夹

2、打开 [flutter sdk path]/flutter/packages/flutter_tools/bin/xcode_backend.dart

3、找到如下代码,大概在150至162行左右

if (buildMode != null) {
      if (buildMode.contains('release')) {
        return 'release';
      }
      if (buildMode.contains('profile')) {
        return 'profile';
      }
      if (buildMode.contains('debug')) {
        return 'debug';
      }
    }

4、将if (buildMode.contains('debug')) 的return 改为 release(意思就是在原生debug模式下使用flutter release包)

5、重新执行flutter pub get 和 pod install

6、插上真机或者archive打包,即可不需要usb链接的情况下运行flutter模块。

问题3:Flutter 插件众多,但原生项目里第三方包也一大片,很容易造成引用冲突【尤其是Android】,建议如非必要,Flutter尽量少引用第三方插件包,自己封装轻量级的插件【够项目用就行🤣】。

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容