使用fastlane match自动化管理证书和描述文件

在我们进行团队开发的时候,避免不了证书和描述文件的管理,常规的有自动管理和手动管理两种方式。

1. 常规的管理方式

1.1 自动管理签名

需要在Xcode的 Targets->Signing & Capabilities 勾选 Automatically manage signing。用这种方式,所有的工作包括AppId、证书、描述文件(Provisioning Profile)的创建都由Xcode包办了,非常的方便。

Automatically manage signing

这种方式对个人开发者非常友好,但是对团队开发来说有比较大的弊端,具体如下。

1.1.1 每个开发成员都有单独的证书和描述文件,会导致存在大量重复的文件,管理起来非常混乱

如图所示:
Certificates

1.1.2 证书的创建是有上限的,可能会导致其他人无法创建证书。

请添加图片描述

1.1.3 每次添加新设备或证书过期时,都必须手动更新和下载最新的配置文件集

比如说,添加新设备后,如果描述文件配置里面没有勾选这个设备,这个设备是无法安装我们的应用的,所有每次都需要确保描述文件的Select All是否已勾选。

请添加图片描述

1.2 手动管理签名

首先,需要某个团队成员先在 Apple Developer 后台 分别创建开发环境和生产环境的证书和配置文件,然后将这些文件下载安装到本地。当其他人参与开发时,需要这个人将相关的文件导出给其他人。

请添加图片描述

然后需要在 Xcode上 取消勾选 Automatically manage signing,同时设置对应的证书和描述文件(Provisioning Profile)。

请添加图片描述

这种方式的优点是所有开发人员都共用一份证书和描述文件,缺点也非常明显:每次证书过期或者添加新的设备后,都需要手动去更新,然后重新分发其他人,操作起来非常麻烦。

那么,有没有这么一个方案:在一个公共的地方存取这些证书和配置文件,自动化去处理整个流程呢?这就是我们今天要讲的 match 工具。

2. 使用 fastlane match 自动化管理证书和配置文件

matchfastlane 工具套装其中的一个工具,它是 codesigning.guide 概念的实现。 它提供了一种全新的管理证书的方式,使团队所有成员共享一份代码签名,以减免不必要的证书创建、配置文件失效等问题。

2.1 使用 match 有什么优势?

  • 所有的团队成员共享同一份证书和配置文件,减少了管理和维护成本
  • 简化请求证书,生成描述文件,注册设备等一系列繁杂工作
  • 能自动识别已过期的证书和失效的描述文件,对这些文件进行重置
  • 对新开发者极其友好,match使用git管理所有的证书和描述文件,所以只要新人拥有git的访问权限,安装了fastlane,就能快速同步现有的证书配置,远离证书配置的大坑

2.2 如何使用 match ?

下面我将详细介绍 match 的使用流程。

2.2.1 准备一个私有的 git仓库

创建一个私有git仓库来存储证书和描述文件。建议在git账号中配置好SSH Key,这样就可以省去身份校验这一步。至于如何配置SSH Key,请参考:使用 SSH 连接到 GitHub

另外,当有多个App时,建议一个git分支对应一个App,这样,我们所有App的证书都在一个仓库里面,便于管理。

2.2.2 初始化 match

在终端定位到项目目录,注意先看项目目录下是否存在fastlane目录,如果没有的话,先执行 fastlane init 命令来初始化fastlane服务(后面会用到)。然后再执行 fastlane match init 命令,首先会提示让你选择存储方式,我们选git,然后再输入git仓库地址,最后会生成一个 Matchfile 的配置文件。接下来,我们修改一下 Matchfile。

git_url("[email protected]:YourUserName/certificates.git")  # git仓库地址

storage_mode("git") # 存储方式
git_branch("app1")  # git分支名称,暂时以app名称作为分支名

# 默认的Profile类型, 可以为: appstore, adhoc, enterprise or development
type("development") 

# bundleId,可以填多个bundleId,如App内包含 extension
app_identifier(["tools.fastlane.app", 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值