• iOS原生项目集成flutter module(不使用cocoaPods),flutter模块中使用的第三方无效 (flutter build ios --release --no-codesign)


    iOS 集成Flutter不使用cocoaPods

    iOS不使用cocoapods集成flutter会发现集成后一部分flutter第三方(插件)不能使用,例如,国际化、本地存储、网络判断、提示框等插件。

    使用cocoapods集成会发现这些插件会打包成framework集成在iOS项目中,所以在不使用cocoapods集成的情况下需要把第三方插件打包成framework集成在ios项目中。

    解决方法:

    在终端打开cd到flutter项目目录下执行flutter build ios --release --no-codesign,执行完成之后在

    /flutter项目/build/ios/Release-iphoneos文件下会发现打包好的framework库,如下图:

    这种情况下打包出的第三方库都是动态库,特别注意的是FlutterPluginRegistrant.framework是静态库

    如果想其他库为.a静态库可以把"根目录/ios/Podfile" 文件里的 use_frameworks!删除

    #加use_frameworks!编译后第三方插件会生成.framework,
    use_frameworks!
    #不加use_frameworks!第三方插件会生成.a;

    把动态集成到ios项目中并配置Embedded Binaries,如下图

    还有一点要特别注意,flutter每次添加新的第三方插件,重新编译后除了添加新的framework,FlutterPluginRegistrant.framework也需要重新更换。

    配置完成之后,iOS项目中加载flutter项目的VC需要使用FlutterPluginRegistrant.framework中的GeneratedPluginRegistrant注册

    如下图:

    参考:https://www.jianshu.com/p/700bd7d2122b

  • 相关阅读:
    2018.5.5-6 GDCPC2018广东省赛 6/10 Rank12 Au
    网络流24题总结
    BZOJ4259 残缺的字符串 FFT
    [转]CodePlus 2018 3月赛 博弈论与概率统计
    Aiiage Camp Day6 J Sort
    Daily Scrum7
    Daily Scrum6
    Daily Scrum5
    Daily Scrum4
    Daily Scrum3
  • 原文地址:https://www.cnblogs.com/lulushen/p/12014949.html
Copyright © 2020-2023  润新知