對於iOS的開發者來說,一定都會遇到被證書與測試裝置煩到不行的時候。後臺的證書亂七八糟,新增裝置後打包的出來的ipa總是裝不上,證書無效等等問題。這些問題一搞就是浪費了大部分時間。工程師的世界裡怎麼能忍受這些重複而且毫無意義的工作?這不,fastlane
裡面的match
解決上面的所有問題。
工作原理
其實match
工具的核心很簡單,就是自動建立一套證書與Profile檔案。然後通過Git
託管這些檔案。在共享機器上面通過下載並把證書裝到機器上面即可使用。
基本使用
match
已經整合到fastlane
全家桶裡面。
初始化
fastlane match init`
複製程式碼
在此過程中,需要輸入一個 git repo 地址存放相關的證書。
建立證書
初始化完成後,可以使用下面的命令生成 certificates 和 profiles
fastlane match appstore
fastlane match development
複製程式碼
如果你第一次使用,它將會建立新的 certificate 和 provisioning profile 檔案,上傳到配置的 Git repo。否則,將會從 Git repo 下載檔案並自動安裝到本機。
在此過程中,將會使用openssl
加密證書,需要提供密碼,該密碼會在下載安裝證書時使用,同時這個密碼會儲存到 Keychain 中。
在不同 bundleId 中,可以使用,
號作為分割符
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
刻不容緩,你還不快用?