Fastlane中管理证书的Tools有三个,分别是cert、sigh和match。
- cert:获取签名证书或删除过期的证书
- sigh:管理配置文件(创建 修复 删除)
- match:使用cert和sigh创建新的证书和配置文件,并它们放置在git上,重复使用
一、cert获取证书
1.进入指定目录后执行命令:
终端中执行下列命令调用
调用create获取证书
fastlane cert create
调用revoke_expired删除证书
fastlane cert revoke_expired
获取过程中会需要对应的账户ID和密码
二、sigh获取配置文件
sigh是用于管理配置文件profile,内部集成了多个Command,分别是renew、download_all、repair、resign、manage,其中默认Command是renew。
renew的作用是从AppleID账号中获取一个可用的配置文件profile,如果没有,则创建一个新的profile,然后将它按照到xcode中。
1.进入指定目录后执行命令:
终端中执行下列命令调用
调用renew获取配置文件
fastlane sigh renew
调用download_all获取全部配置文件
fastlane sigh download_all
获取过程中会需要对应的账户ID和密码
三、fastlane match来管理代码签名
match是fastlane提供的一种全新的管理证书的方式,它使团队所有成员共享一份代码签名,以减免不必要的证书创建,描述文件失效等问题。
1.为什么要用match?
很多团队中证书与描述文件的关系比较混乱,各自为政,创建了很多相同的描述文件,并且新的旧的都有在用,像因包含设备不同步导致打包失败等问题时有发生。
虽然xcode带来的自动管理签名带来了一定的方便,但同时也增加了不可控性,打包具体用的哪个描述文件?包不包含特定设备?有时候往往到结果那一步才了解。
2.match能做什么?
match使所有成员共享同一份证书和描述文件,大大减少管理和维护的成本,并有着完善的同步机制。
因为match将所有的证书和描述文件存放于你的git仓库中,所以只要拥有git仓库的访问权限,安装了fastlane,那新设备可以迅速投入到工作中。
简化请求证书,生成描述文件,注册设备等工作,这些全部可以在终端通过命令进行操作。
3.match使用方法
1.因为match是将所有的证书和描述文件统一放在git仓库中,所有第一步就是先创建一个私有仓库,注意一定要是私有仓库!名字官方建议为certificates
2.在项目文件夹下执行
fastlane match init
这一步官方建议通过命令清除之前的证书和描述文件,毕竟我们想从一个干净的环境出发,所以如果当前不是上线时刻,或是其他急用的场景就放心的搞吧。(谨慎!!!!)
fastlane match nuke development ---开发证书
fastlane match nuke distribution ---apple store 和 adhoc使用此命令
fastlane match nuke enterprise ---企业证书
4.创建新的证书和描述文件,通常来说,我们需要appstore、development、以及adhoc环境的证书和描述文件,所以分别执行
fastlane match appstore
fastlane match development
fastlane match adhoc
第一次执行完后,match会创建新的证书和描述文件,之后执行会拉取仓库已经存在的。
此时打开你的git仓库可以看到证书和描述文件已经存在了,并且证书和私钥也存放到了钥匙串中,描述文件存放于Mac下的~/Library/MobileDevice/Provisioning Profiles文件夹下
到此我们的证书和描述文件已经准备好了。
5.配置Xcode
打开Xcode->general关掉Automatically manage signing这时会多出Signing(Debug)、Signing(Release),或者还有Signing(adhoc)这取决于你的项目。
分别选用相对应的描述文件,如果提示描述文件不包含xx证书,就到Build Settings->Code Signing Identity 将对应的证书选一下。
- 本文作者: Grx
- 本文链接: https://ruixiaoguo.github.io/Grx.github.io/Grx.github.io/2020/05/01/Fastlane证书管理(二)/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!