iOS--利用Fastlane實現自動化打包

前言

  在平常的開發工做中給測試同窗打包測試是很正常的流程,可是每次都經過Xcode archive來生成測試包而後再導出,而後在上傳到三方測試網站(蒲公英、fir等),一次兩次感受沒有什麼。可是一次次從新打包,以後就是所有重複無心義的工做,就會感受很煩了,因而我想到了用自動化打包來講實現這個工做。api

Fastlane是什麼?

  Fastlane是一套很是實用而強大的組件,是用Ruby語言編寫的一套自動化工具集和框架,其目的主要是爲iOS和Android應用程序自動化測試部署和發佈的最簡單方法。它處理全部繁瑣的任務,如生成屏幕截圖,處理代碼簽名以及發佈應用程序。xcode

安裝使用過程

一、安裝

  使用sudo gem install fastlane -NV或是brew cask install fastlane,這裏使用gem安裝的話須要注意一下淘寶ruby鏡像已經不在更新,之前用過淘寶鏡像的小夥伴須要更換爲Ruby China 鏡像。參考這裏,安裝過程可能須要一段時間,請耐心等待。ruby

二、初始化Fastlane

  cd到你想要自動化打包的項目下 bash

image.png

  執行 fastlane init初始化,首先你須要輸入你的開發者帳號,若是你的appleid歸屬多個開發者帳號的話根據需求選擇一個回車繼續,以後回提示輸入密碼並進行雙重認證,根據提示輸入便可。 app

image.png
  接下來會讓你輸入App Identifier ,填入相應的id便可。
image.png
  輸入App名稱。
image.png
  到這裏就證實fastlane已經初步配置到你的項目當中了。
image.png

三、設置相關配置文件

  上面幾步執行順利的話你的項目裏面會多一個fastlane文件夾,如圖所示。 框架

image.png
  咱們自動化測試的最重要的部署文件就是這個Fastfile文件,雙擊編輯,這裏面每個lane均可以配置一種打包方式。
image.png

  咱們在這裏新增一個咱們本身須要的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: 測試

image.png
image.png
image.png
image.png
  導出以後打開ExportOptions文件。
image.png
image.png

  將上面紅框部分對應到provisioningProfiles裏面的值填進去就OK。   而後再終端輸入fastlane add_plugin pgyer安裝蒲公英相關插件: 網站

image.png
  根據提示輸入sudo gem install unf_ext -v '0.0.7.5'命令回車:
image.png

四、運行打包並上傳

  在項目目錄下面執行fastlane test,發現提示錯誤: ui

image.png
  去項目buildsetting設置:
image.png
  而後再執行fastlane test,而後等待打包完成。

image.png
  搞定,快讓測試同窗去下載吧。
相關文章
相關標籤/搜索