混合工程:当项目工程比较庞大的时候,开发者都有一套自己的开发环境。原生开发人员如果不想配置Flutter开发环境的话,那么还可以一起混编嘛?如果想在原生的项目中引入一效率是什么意思个Flutter的页面。

混合工程集成

依赖GitHub环境

这个可以参考之前的文章混合开发,但是这个有一个弊端,这就要求本地需要配置flutter的环境。如果flutter开发的app有哪些开发者本身没github中文官网网页有配置这些环境变量,这就用不了(比如把本地的flutter修改一个名字)。所以就需要一个集成方式不依赖于flutter的环境配置,以下介绍两种不依赖开发环境的集成方式

Flutter进阶-混合工程自动化

frios应用商店amework集成

  • my_flutter(moudle,需要ios15集成到原生中的dart代码)
  • MyFlutter(原生iOS项目)

使用命令集成,来到my_flutte效率的英文r文件目录下,然后使用如下命令:

flutter build ios-framework --output=../flutter_framework

等待一段时间,如下就算成功了

Flutter进阶-混合工程自动化

我们可以看到生成了一个flutter_framework的文件夹,这个文件夹中分别有

  • Debug(开发环境,可以用来调试代码)
  • Rflutter翻译elease(发布环境,不可以调试, 效率高)
  • Profilegiticomfort是什么轮胎(即有regiti轮胎lease的性能又有debug的调试功能)

Flutter进阶-混合工程自动化

  • App.xcframework:页面(可以有github官网登陆入口多份)
  • Flutter.xcflutter是什么意思framework:flutter环境(原生只含有一份即可)

打开iOS原生项目MyFl效率是什么意思utter(此时的pod尚未配置任何有关flutter的信息),选中TARGRT-&gios是什么意思t; General->加入Debug中的两个文件

Flutter进阶-混合工程自动化

运行之后:

Flutter进阶-混合工程自动化

这种,即使Nati效率集ve的开发者不配置flutter的环境,也可以调起flutter的代码,下面再介绍一种github直播平台永久回家使用CocoaPods集成的方式

CocoaPods集成

跟上面的git命令framewor效率公式k集成的命令差不多,只是多了一句--cocoapods

flutter build ios-framework --cocoapods  --output=../flutter_framework_cocoapods

Flutter进阶-混合工程自动化

成功之后flutter有必要学吗文件目录如下,这个时候能够看出flutter效率的拼音是一个podspec的方式

Flutter进阶-混合工程自动化

把Debug文件拷贝到MyF效率是什么意思lutter项目中,然后配置pod 文件

# Uncomment the next line to define a global platform for your project
platform :ios, '9.0'
target 'MyFlutter' do
  # Comment the next line if you don't want to use dynamic frameworks
  use_frameworks!
  pod 'Flutter',:podspec => 'Debug/Flutter.podspec'
  # Pods for MyFlutter
end

执行pod install之后ios是苹果还是安卓,打开项目添加App.xcframework文件,此时可正常调用flutter文件。对于App.xcframework根据项目需要的话后期要不断的修改,原生开发者要不断的更换该文件,那么有没有一种便捷的方式,dart文件修改之后push上去,原生开发git命令者直接pull下来使用呢?

自动化工程

新建仓库

下面的示例CI比较简单,算是抛砖引玉。首先需要一个git的仓flutter开发的app有哪些库。来到fluttershy我们的个ios15人仓库,创建一个个人仓库[FlutterCI](https:/github中文社区/github.com/liuNaiNai/FlutterCI),提交my_flutterMyFlutter代码

Flutter进阶-混合工程自动化

提交错误,提示我需要一效率是什么意思个个人令牌来替代知道的账号密码认证,接着来创建个人令牌,setting->developer settings

Flutter进阶-混合工程自动化

Flutter进阶-混合工程自动化

点击创建,然后再次提交本地代码的github永久回家地址时候,在需要输入账户密码的地方粘贴这个个人令牌即可

效率公式加Actions

Flutter进阶-混合工程自动化

CI脚本,执行了之后就会在原生的项目MyFlutter内生成一个Flutter相关的文件,然后拉下来就可以使用了。注意:脚本是使用CocoaPod集成github中文官网网页的,原生就需要配置CocoaPod。

name: FlutterCI #CI名称
on: [push] #触发条件push操作!
jobs:
  check:
    name: Test on ${{ matrix.os }}
    #运行在哪个平台这里是MacOS平台
    runs-on: macos-latest
    steps:
      - uses: actions/checkout@v1
      #三方flutter的Action,它可以在服务器配置一个Flutter环境
      - uses: subosito/flutter-action@v1
        with:
          flutter-version: '2.5.3'
          channel: 'stable'
      #想让我们CI做的事情!
      - run: cd flutter_module && flutter build ios-framework --cocoapods --output=../MyFlutter/Flutter 
      - run: |
         git add .
         git commit -m 'update flutter framework'
     
      - name: Push changes
        uses: ad-m/github-push-action@master
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}