iOS学习

fastlane match 手动管理证书与profile 告别

2019-03-20  本文已影响1人  冰琳92

文件夹结构

certificate命名规则

profile命名规则: type_bundleid.mobileprovision

假如你的app bundle id 为com.company.appname
那么

手动管理git repo

fastlane本身对repo进行了加密,且fastlane不支持手动编辑repo
如果是在需要手动编辑,需要先解密,修改 然后再加密

解密

命令后进入工程根目录

$ bundle console
irb(main):001:0>

加载match并设置合适的参数

irb(main):001:0> require 'match'
irb(main):002:0> git_url = 'https://github.com/fastlane/example-certificate-repo'
=> "https://github.com/fastlane/example-certificate-repo"
irb(main):003:0> shallow_clone = false
=> false
irb(main):004:0> manual_password = 'example-password'
=> "example-password"

调用GitHelper.clone clone并解密 工程
返回值存放在workspace中,稍后我们会再次加密

irb(main):005:0> workspace = Match::GitHelper.clone(git_url, shallow_clone, manual_password: manual_password)
[14:49:30]: Cloning remote git repo...
[14:49:31]: 🔓  Successfully decrypted certificates repo
=> "/var/folders/0j/29ytx6wx0fg86sznfb4mqdph0000gn/T/d20180601-14350-11hmdro"

修改

/var/folders文件夹下存放着解密后的工程,在那里 可以进行你想进行的修改

注意:p12文件不要设置密码,match不支持导入有密码的私钥

再次加密

调用GitHelper.commit_changes提交修改信息 eg:

irb(main):006:0> Match::GitHelper.commit_changes(workspace, "remove password from p12 file", git_url)

这下你的修改会被加密 提交 并push到git中, 执行完后 /var/folder中的工程会被删除

注意: 如果你的keychain中没有存你加密的密码,会弹出一个输入框,输入你解密的密码即可

参考:
manually manage the fastlane match repo

上一篇 下一篇

猜你喜欢

热点阅读