1. 为什么match方式管理证书?
Match 负责创建和维护代码签名证书和预配配置文件,使 iOS 开发团队可以在所有开发人员中共享一个代码签名标识。
在向 App Store 部署应用、执行 beta 版本测试,或在设备上安装应用时,开发团队的每个成员都有其自己的签名标识。 这可能会导致标识和配置文件发生冲突,并需要手动创建、轮换和管理配置文件和应用程序 ID。
但是,match 会创建和维护所有证书和配置文件,并将它们存储在私有 GIT 存储库。 这样,团队中的所有开发人员都可以访问和使用这些凭据。 另外,这样还额外提高了证书的安全性:除了存储在私有 GIT 存储库,还可以使用密码加密。 通过将代码签名项目存储在存储库中,团队代理和管理员可以根据需要更新和轮换证书,这意味着将新证书分发到每个开发人员将花费更少的时间。
重要
match 当前不支持内部企业配置文件
2.安装match过程
2.1 通过使用终端,将目录更改为项目目录并运行:
fast lane match init
2.2 出现提示时,请输入 GIT 存储库的 URL:
2.3 github.com 或 bitbucket.com 创建项目目录
fastlane-image6.png
生成的项目路径 填入 2.2.
2.4 结束后fastlane下生成Matchfile文件,初始化项目将创建 Matchfile 文本文件,该文件可以进行编辑,从而将环境变量传递给 Match 工具。 Matchfile 示例如下所示:
fastlane-image8.png
2.5 运行 match
fastlane 建议首次运行match 之前,应考虑使用 match nuke 命令清除现有配置文件和证书
2.5.1
根据所需的环境,可以使用以下任一命令创建新证书和预配配置文件,并将其存储在新的 GIT 存储库:
fastlane match appstore
fastlane match adhoc
fastlane match development
2.5.2
fastlane-image9.png除了创建新的证书和配置文件,使用上面任一命令还可以将以下项添加或更新(如果已存在)到 GIT 存储库:
证书文件夹
配置文件文件夹
附带基本说明的自述文件
match 版本
2.5.3
预配配置文件安装在 ~/Library/MobileDevice/Provisioning Profiles 中。 证书和私钥直接安装在密钥链中。
2.5.4 使用 nuke
命令
如果证书比较杂乱,可以通过以下命令使用 nuke 吊销每种环境的证书和配置文件:
fastlane match nuke
若要撤销特定环境的所有证书和预配配置文件:
fastlane match nuke development
或
fastlane match nuke distribution
Fastlane 将在进行删除前确认将要删除的文件.
密码
首次运行 match
时,需要设置 GIT 存储库的密码。 请务必记住此密码,因为在不同计算机上运行 match 时,将需要此密码。 这又增加了一层安全保障:每个文件将使用 OpenSSL 加密。 后来在新的计算机上每次运行 match
时,系统都将提示输入此密码 – 初次输入后,密码将添加到本地密钥链。
若要将密码设置为使用环境变量加密配置文件,请使用 MATCH_PASSWORD
。
附加选项
使用 match 时,可使用下列选项提供额外支持:
- 将
-–help
标志用于所有的可用命令列表:
- 使用
-–verbose
标志增加输出的详细程度:
- 如果开发人员门户上的设备计数已更改,请使用
--force_for_new_devices
标识强制预配配置文件进行续订”
2.5.5 match应用
screenshot.pngfastlane match development --readonly
团队管理
当有新成员加入时,执行:
fastlane match development --readonly
fastlane match adhoc --readonly
fastlane match appstore --readonly
并输入对应的加密密码来获取
xcode要取消Automatically manage signing,并将获取到的pp文件放到对应的Signing配置中,至此就配置完成啦!
3.遇到的问题
3.1
https://github.com/fastlane/fastlane/issues 原本以为ruby版本问题,
ruby版本升级:https://blog.csdn.net/u011886447/article/details/78453307
后来注意到 /usr/local/bin in PATH,model 040777,简单搜索下访问权限,给了启发。执行如下命令:
sudo chmod go-w /usr/local/bin
3.2
https://github.com/fastlane/fastlane/issues
unexpected token at 'Bad Request' (Faraday::ParsingError) 类似错误:
https://github.com/fastlane/fastlane/issues/5903
提供解决方式(没能解决我的问题):
git clone https://github.com/fastlane/fastlane
cd fastlane/spaceship
[sudo] gem install bundler
bundle install
rake install
尝试超时引起,解决了我的问题:
export FASTLANE_XCODEBUILD_SETTINGS_TIMEOUT=100
3.3
开发者账号后台无需创办证书,比如提示:
[!] Could not create another Development certificate, reached the maximum number of available Development certificates.
4.参考文章
https://docs.microsoft.com/zh-cn/xamarin/ios/deploytest/provisioning/fastlane/match#passphrase
https://docs.fastlane.tools/actions/match/
https://github.com/fastlane/fastlane
启发内容
http://www.cocoachina.com/cms/wap.php?action=article&id=24718
网友评论