厌倦了手动打包上传ipa?用fastlane吧

3,913 阅读3分钟

Xnip2022-02-25_17-51-07.jpg

一、前言

我们iOS开发者,感觉最繁琐的事就是打包上架了,打包过程不仅繁琐还特别耗费时间。那么有没有工具能将我们解放出来呢?

有,答案就是fastlanefastlane是移动端App开发的脚本工具。

The easiest way to build and release mobile apps. fastlane handles tedious tasks so you don’t have to.

本文简单实现了用fastlane自动上传ipa到AppStore,更多枝叶需要自己慢慢完善。

基本步骤如下:
1、安装fastlane
2、fastlane初始化
3、配置证书和描述文件
4、一键上传

首次配置完成后,后续只需要执行fastlane release,就能一键上传到应用商店。

二、安装fastlane

sudo gem install fastlane

检查安装是否成功:

fastlane --version

三、fastlane初始化

cd到工程目录,执行fastlane init。接下来会有若干次交互提示。

1、你使用fastlane的用途?

我们选择3:自动上传到AppStore。

2、期间需要输入Apple ID的账号和密码,并发起一次两步验证。

输入账号: 输入账号

输入两步验证码: 输入两步验证码

3、是否使用fastlane管理app的元数据?

选择y的话,可以在本地以文件的形式管理元数据。例如:标题、描述、截图等。

管理元数据

接下来一路enter,完成初始化。

四、配置证书和描述文件

fastlane match init

1、选择如何存储你的证书和描述文件。我选择1,使用git。

如何存储证书和描述文件

2、提示你输入用来存储文件的Git地址。这里可以直接点击enter,不用输入。

输入Git地址

到这里,证书和描述文件就算配置成功了。

五、fastfile内容简介

现在,打开你的项目根目录,可以发现一个【fastlane文件夹】。

项目根目录

Appfile:App的基础信息。例如:bundleId、teamId、appleId等。
Fastfile:每一个Fastfile都定义了一系列的操作(航道)。
metadata:元数据。和AppStore Connect上的一样。这个只是一个本地拷贝。
screenshots:商店介绍图。

主要讲一下Fastfile文件的内容:

default_platform(:iOS)

platform :iOS do
  desc "Push a new release build to the App Store"
  lane :release do
    increment_build_number(xcodeproj: "KDOHInternational.xcodeproj")
    build_app(workspace: "KDOHInternational.xcworkspace", scheme: "KDOHInternational")
    upload_to_app_store
  end
end

release是航道名,包含了打包到应用商店的三个步骤:
1、increment_build_number:自动增加编译版本号(Build号
2、build_app:编译App
3、upload_to_app_store:上传ipa到应用商店

六、一键上传

上面的配置你都完成了的话,就可以一键上传了。 进入到你的项目根目录(fastlane文件夹所在目录),终端执行:

fastlane release

中间过程有一些提示和确认选项,直接确认就好。 上传ipa包过程中,还可能会出现以下错误:

需要输入App特定秘钥: 需要输入App特定秘钥

我们在指定页面:appleid.apple.com/account/man…创建苹果认证秘钥,输入到终端就行。

上传成功

上传成功!十几分钟后就能在AppSore Connect上看到上传的包了。

七、总结

fastlane将日常手动进行的操作,转换成执行简单脚本的方式,确实给我们移动端开发者带来了极大的便利。没有尝试过的同学,赶紧试试吧!