Flutter项目之iOS端打包及商务管理分发
一、背景
现在我们有个项目是使用的Flutter
进行开发的,由于比较多的同学之前没有接触过Flutter
的项目,所以对于后续的打包、审核、分发等不是太了解,所以就想写下这篇博客记录下Flutter的项目iOS端的这些流程,这样有文档资料,就很容易搞懂和上手了,话不多说,直接开始干货。
二、打包流程
打包可分为上传AppStore以及打出ipa包,当然给测试也可以直接运行到测试机上,这几种下面我分别介绍一下:
首先打包需要在IDE的终端输入命令,这里以Android Studio
为例,终端如下:
2.1.直接运行
直接运行的话可以使用命令
flutter run --release --target=lib/app/main_dev.dart
flutter run --debug --target=lib/app/main_dev.dart
这里可以运行debug
或release
模式,自己可选择,一般建议运行release模式,后面的target
是指定的运行的main文件,如果项目只有一个默认的main
的话,可省略调target,考拉项目试根据开发环境配置了不同的main文件,所以需要指定具体的开发环境,这样可以打不同环境的测试包。
运行如下:
2.2.png
2.2.导出IPA测试包
导出IPA测试包已经上传App Store都需要首先使用命令将Flutter项目编译,编辑相当于将flutter文件编译为framework
,可在XCode中使用。
- 编译命令如下:
flutter build ios --release --target=lib/app/main_dev.dart
2.3.png
从图中可以看到,这时候已经编译完成了,接下来使用XCode打开该Flutter项目中iOS文件。
-
可以看到Dart文件已经被编译为了framework:
upload_aa2cada96bffb9228c2dbbef5b4af7b1.png -
接下来就相当于正常的iOS项目打包,流程类似,Product->Archive,
打出来如图所示:
upload_a78286d276f4ff7c693a5d8546979951.png
- 然后导出IPA包,先
Distribute App
,由于我们是公司级证书,所以可以通过Add Hoc
导出ipa包:
upload_7ccbb59462cfa167ac7242050f7494ed.png
2.3.上传AppStore
如果需要上传App Store进行审核,那再2.2有一些不同,就是Distribute
后进行App Store Connect
的操作,将ipa包上传的 Apple Connect进行审核:
Apple Connect上传的版本如图所示:
upload_dae59026288f5fcd6743624bb33ae804.png
三、商务管理分发
这里通过Apple Store进行分发就不再过多讲述,这里主要讲述下最新的苹果推出的替代企业级证书的分发方式-商务管理。通过商务管理,可以实现不通过Apple Store进行分发,解决了一部分人得问题。
3.1.商务管理账号申请
使用商务管理需要先申请商务管理的账号,注意这里和开发账号是不一样的,需要额外的申请商务管理的账号。
注册网址如下:商务管理注册
这里填写完资料审核还是挺快的,一般一周左右的时间就审核通过了。
3.2.Apple Connect绑定商务管理
申请商务管理后,需要在AppleConnect中将要分发的App进行绑定。选择需要设置的App,然后对其发布方式
进行设置,因为要通过商务管理分发,所以需要设置为通过商务管理提供,然后绑定下申请的商务管理账号的ID
和组织名称
,这样应用审核通过后就可以通过商务管理进行分发。
3.3.商务管理分发
- 绑定完商务管理后,App审核通过后,点击分发,这时候就会将数据同步到商务管理这边,不过一般需要等会才会同步过来,一般需要20-30分钟,会同步到商务管理里面的
自定App
里面,如图所示:
upload_8f35992b1b348c74ab713cbb8011e2b9.png
-
同步过来后,选择兑换码兑换,可以对选响应数量的下载链接,注意这里每个下载链接都是不同的,而且每个下载链接使用后都会失效,所以针对下载链接可以让后台根据链接动态生成二维码即可。
upload_ef6509443b9ab46ad16e3c8c8b2d3444.png
-
兑换对应数量的二维码后需要等待几分钟才可以下载到对应地下载链接,下载链接生成后直接下载就可以了。
upload_394cbdb515799411d0c62ddaed08c401.png
下载后就可以直接使用了,下载后的文件如图所示:
upload_a75109b255b17d6f4acea451dc212f35.png
到这里整个流程应该都说的比较清楚了,如果还有什么问题可以给我留言,看到后我会很快回复。