在平常的開發工做中給測試同窗打包測試是很正常的流程,可是每次都經過Xcode archive來生成測試包而後再導出,而後在上傳到三方測試網站(蒲公英、fir等),一次兩次感受沒有什麼。可是一次次從新打包,以後就是所有重複無心義的工做,就會感受很煩了,因而我想到了用自動化打包來講實現這個工做。api
Fastlane是一套很是實用而強大的組件,是用Ruby語言編寫的一套自動化工具集和框架,其目的主要是爲iOS和Android應用程序自動化測試部署和發佈的最簡單方法。它處理全部繁瑣的任務,如生成屏幕截圖,處理代碼簽名以及發佈應用程序。xcode
使用sudo gem install fastlane -NV或是brew cask install fastlane,這裏使用gem安裝的話須要注意一下淘寶ruby鏡像已經不在更新,之前用過淘寶鏡像的小夥伴須要更換爲Ruby China 鏡像。參考這裏,安裝過程可能須要一段時間,請耐心等待。ruby
cd到你想要自動化打包的項目下 bash
執行 fastlane init初始化,首先你須要輸入你的開發者帳號,若是你的appleid歸屬多個開發者帳號的話根據需求選擇一個回車繼續,以後回提示輸入密碼並進行雙重認證,根據提示輸入便可。 app
上面幾步執行順利的話你的項目裏面會多一個fastlane文件夾,如圖所示。 框架
咱們在這裏新增一個咱們本身須要的lane。工具
desc "打包到pgy"
lane :test do |options|
gym(
clean:true, #打包前clean項目
export_method: "development", #導出方式
scheme:"shangshaban", #scheme
configuration: "Debug",#環境
output_directory:"./app",#ipa的存放目錄
output_name:get_build_number(),#輸出ipa的文件名爲當前的build號
# Xcode9將不會容許你訪問鑰匙串裏的內容,除非設置allowProvisioningUpdates
export_xcargs:"-allowProvisioningUpdates",
# 隱藏沒有必要的信息
silent:true,
# 手動配置證書,注意打包方式需在export_options內使用method設置,不可以使用export_method
export_options: {
method:"development",
provisioningProfiles: {
"xxxxxx":"xxxxxx",
"xxxxxxx":"xxxxxxx"
},
}
)
pgyer(api_key: "xxxxx", user_key: "xxxx",update_description: options[:desc])
end
複製代碼
蒲公英api_key、user_key獲取方式。 這裏的provisioningProfiles數據須要特別說明一下獲取方式,在xcode裏面點擊product--》archive: 測試
將上面紅框部分對應到provisioningProfiles裏面的值填進去就OK。 而後再終端輸入fastlane add_plugin pgyer安裝蒲公英相關插件: 網站
在項目目錄下面執行fastlane test,發現提示錯誤: ui