iOS持续集成(二)——证书管理神器match

对于iOS的开发者来讲,必定都会遇到被证书与测试设备烦到不行的时候。后台的证书乱七八糟,添加设备后打包的出来的ipa老是装不上,证书无效等等问题。这些问题一搞就是浪费了大部分时间。工程师的世界里怎么能忍受这些重复并且毫无心义的工做?这不,fastlane里面的match解决上面的全部问题。git

工做原理

其实match工具的核心很简单,就是自动建立一套证书与Profile文件。而后经过Git托管这些文件。在共享机器上面经过下载并把证书装到机器上面便可使用。bash

基本使用

match已经集成到fastlane全家桶里面。app

初始化ide

fastlane match init`
复制代码

在此过程当中,须要输入一个 git repo 地址存放相关的证书。工具

建立证书测试

初始化完成后,可使用下面的命令生成 certificates 和 profilesui

fastlane match appstore

fastlane match development
复制代码

若是你第一次使用,它将会建立新的 certificate 和 provisioning profile 文件,上传到配置的 Git repo。不然,将会从 Git repo 下载文件并自动安装到本机。加密

在此过程当中,将会使用openssl加密证书,须要提供密码,该密码会在下载安装证书时使用,同时这个密码会保存到 Keychain 中。spa

在不一样 bundleId 中,可使用,号做为分割符code

fastlane match appstore -a tools.fastlane.app,tools.fastlane.app.watchkitapp
复制代码

甚至能够在fastlane中定义这样的一个任务

lane :certificates do
  match(app_identifier: ["com.krausefx.app1", "com.krausefx.app2", "com.krausefx.app3"], readonly: true)
end
复制代码

在新机器上

很简单,执行下面便可

fastlane match development --readonly
复制代码

测试设备管理

注册新设备

使用match批量帮你添加设备,能够节省大部分时间。

lane :beta do
  register_devices(devices_file: "./devices.txt")
  match(type: "adhoc", force_for_new_devices: true)
end
复制代码

使用force_for_new_devices参数,若是设备数量发生变化时,match会从新生成 provisioning profile 文件,这简直对于咱们来讲是福音啊

若是没使用 fastlane ,能够直接使用下面命令

fastlane match adhoc --force_for_new_devices
复制代码

其余用法

删除

fastlane match nuke development
fastlane match nuke distribution
fastlane match nuke enterprise
复制代码

这个命令会把你全部证书相关删除,请当心使用这命令。不过你不用担忧的是,已发布的应用不受影响。

更新密码

fastlane match change_password
复制代码

更新加密的密码,并会同步到 Git repo中。下次在新机器上须要使用新的密码

手动解密码

导出.p12文 件

更多命令参数相关的参照官方文档

总结

fastlane match能大大节省咱们的时间,而且更加方便管理证书。使用fastlane刻不容缓,你还不快用?

相关文章
相关标签/搜索