對於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
刻不容緩,你還不快用?