内容简介:最近手里好多项目都是需要打企业版本并上传到fir上去,每次构建版本至少要10分钟,时间长不是最难忍受的,难忍受的是整个过程需要你全程参与,比如选择证书、比如下一步,下一步等,一套搞下来,心累,因此找一个自动化打包工具来节省体力刻不容缓了,求生欲啊,本次我找的工具就是fastlane(docs.fastlane.tools),一款用ruby开发的构建工具,可以自动打包并上传到APPStore,上传到fir,上传到蒲公英,具体过程往下看:确保你的Mac环境有ruby环境,执行ruby-v,查看当前ruby的版本
最近手里好多项目都是需要打企业版本并上传到fir上去,每次构建版本至少要10分钟,时间长不是最难忍受的,难忍受的是整个过程需要你全程参与,比如选择证书、比如下一步,下一步等,一套搞下来,心累,因此找一个自动化打包 工具 来节省体力刻不容缓了,求生欲啊,本次我找的工具就是fastlane(docs.fastlane.tools),一款用 ruby 开发的构建工具,可以自动打包并上传到APPStore,上传到fir,上传到蒲公英,具体过程往下看:
1.首先安装fastlane前的准备工作:
确保你的Mac环境有ruby环境,执行ruby-v,查看当前ruby的版本,如果还没有ruby环境,请自行百度安装,如果你的项目已经使用cocoapod管理第三方包,那么你的mac内就已经安装了ruby环境了,其次我们还需要安装xcode的命令行工具,当然这里不需要自己安装,xcode已经帮我们完成了.
2.正式安装fastlane:
执行sudo gem install fastlane
安装完成后就可以cd到项目目录下:
执行fastlane init
初始化工程中需要你完成一些列选项:
1是自动截图
2是打测试包
3是Appstore上架
4是自定义,
这里我是打包企业版本,选择4,当然所有自定义的包括打企业包、上appstore等都可以自定义脚本来完成.
初始化完成后项目目录下会有fastlane的文件目录:
其中:
Appfile,用于存放AppID和开发者的AppleID,这个文件在我的实践中并没有用到.
Fastfile,用于管理创建的lane,lane则可以调用各个action(即fastlane的工具链)这个文件是核心文件.
Snapfile,用于指定需要进行屏幕截图的设备类型(根据选项生成,可自己创建文件用于配置)
Deliverfile,用于配置发布至appStore的文件(根据选项生成,可自己创建文件用于配置),如果你是选择打包后自动上传到appstore,那么这个文件是必要的,当然也是执行相关命令生成的,后续会提到.
Snapfile和Deliverfile是不会自动生成的,还需要执行其他命令,这个下面有介绍.
这里我只选择了自定义,所以只有前两个文件. 接下来在Fastfile来创建命令,这里构建APP需要使用build_app的action,具体的action介绍自己去看( docs.fastlane.tools/actions ),当前你可以执行, fastlane action xxx ,xxx代表action的名称,比如查看 build_app :
接下来进入本文的重点,如何编写构建脚本这是具体的脚本,这个脚本是打包企业版本:
desc "企业版本" lane :enterpriseProduction do #自己对当前的lane命名 build_app( #build_app是打包的action,里面详细的命令请查看https://docs.fastlane.tools/actions/build_app workspace:"xxx.xcworkspace",#装有coccoapod的,找到项目的workspace scheme:"xxx", #项目命名 export_method:"enterprise",#导出方式 output_directory:"./fastlane/package/enterprise",#打包后ipa的存放路径 output_name:get_build_number()#输出ipa的文件名为当前的build号 configuration:"Release", #环境 clean:true #打包前是否需要执行clean #export_options: { #其他选项,这里手动配置打包的签名证书, 笔者目前都是自动化打包,因此手动打包这一部分并没有去验证,各位有需要的可以自己捣鼓捣鼓 #provisioningProfiles: { # "com.example.bundleid" => "Provisioning Profile Name", #3 "com.example.bundleid2" => "Provisioning Profile Name 2" # } #} ) #自动上传fir firim(firim_api_token:"fir的token") #自动上传蒲公英 pgyer(api_key:"apiKey",user_key:"userkey") # add actions here: https://docs.fastlane.tools/actions end 复制代码
上面我的执行脚本,这里有个注意点,如果你想写注释请用#开头,笔者之前用//结果各种语法错误,尴尬.笔者一直用的自动化打包方式,fastlane也是默认使用自动化打包,如果你需要手动打包,那么需要配置签名文件等.
编写完成后可以执行打包命令了:
fastlane enterpriseProduction(lane的命名)
执行过程中会build你的整个项目,这中间需要一些时间,打包完成后还需要上传到你们指定的地方去,也是需要时间的,耐心等候.最终:
上面列出了本地打包的耗时458秒.查看下打包出来的目录:
上传到fir或者蒲公英这里笔者暂时是屏蔽掉了.各位需要上传到fir或者蒲公英,那么接着往下看:
1.上传到firim
首先需要安装firim的工具,cd到你的项目目录下, 这里的fir以及蒲公英的工具都必须在项目目录下安装 :
执行fastlane add_plugin firim
这个安装过程还顺带需要安装gem,还需要输入几次密码,照着做就行
安装完成后在fastlane 文件内加上firim(firim_api_token:"fir的token"),如上图,这时你需要获取到你的firim账号上的token,并填写进去:
. 最后再次执行打包命令,整个配置没问题成功后就可以去fir上查看.
2.上传到蒲公英
步骤和fir一致,整个过程中执行的命令不一样而已,你也可以参考蒲公英的文档https://www.pgyer.com/doc/view/fastlane:
首先去项目目录下执行:
fastlane add_plugin pgyer
成功后在fastlane文件内新增:
pgyer(api_key:"apiKey",user_key:"userkey"),其中key去蒲公英上取.
最后执行打包命令,成功后去蒲公英上查看.
以上是企业版本的打包及上传到不同平台的全实践.
接下来讲解的是打包上传到itunes上去:
Fastlane的配置如下:
lane:Appstore do build_app( workspace:"xxx.xcworkspace", scheme:"xxx", export_method:"app-store",#这里填appstor output_directory:"./fastlane/package/appstore",#打包后的路径,自己随意 configuration:"Release", clean:true ) upload_to_app_store( #上传appstore的配置 app_identifier:"com.creator.pro.eamp",#bundle Id username:"yaqian.tang@chinacreator.com",#apple Id ipa:"./fastlane/package/appstore/xxx.ipa", #和output_directory的路径对应 skip_screenshots:true, skip_app_version_update:false, submit_for_review:false, reject_if_possible:true, skip_metadata:true ) # add actions here: https://docs.fastlane.tools/actions end 复制代码
执行打包命令后,会一步一步要你填写 apple ID及密码,如实填写就行,当然还需要先执行deliver init ,来初始化Deliverfile、screenshots和metadata,这包含了app的截图、icon等一些基础数据,如果你的APP以及在itunes上初始化完成了,那么执行deliver init,就可以把app的相关信息都下载下来,如下,自己去对应的文件夹下看详细内容:
你选择自定义的时候是不会自动给你生成的,你选择3上传到appstore,则是可以自动生成,当然你上架app的第一个版本的信息初始化可以选择完全由fastlane来构建,笔者这里暂时不去探究fastlane中app在itunes上的初始化过程,我个人的建议是自己去itunes上生成app的第一个版本,后续版本的迭代使用fastlane,那样就只需要关心ipa包的上传.
终于写完了,倒腾了一天,整套下来确实是节省了许多打包的时间,心情也好了,开心,学会用好工具也是必修课.
以上所述就是小编给大家介绍的《fastlane 自动化打包工具实践》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
RGB转16进制工具
RGB HEX 互转工具
MD5 加密
MD5 加密工具