iOS 自動構建命令——xcodebuild

發表於2016-11-04

想想當初天天來到公司,每天需要做一件事就是開啟Xcode打包ipa,上傳到fir。日復一日月復一月年復一年的做著同樣的事情,作為有志成為優秀工程師的我來說,這是必須要解決的問題,所以決定自動化解決問題。

簡介

xcodebuild 是蘋果釋出自動構建的工具。它在一個Xcode專案下能構建一個或者多個targets ,也能在一個workspace或者Xcode專案上構建scheme,總的來說,用它沒錯就是了。

用法說明

Tips:在終端輸入man xcodebuild,可以看到Description裡面有介紹用法。

也可以看官方文件

當你想構建一個Xcode專案,在專案目錄下執行xcodebuild就可以了(目錄下面包含著projectname.xcodeproj檔案就行),如果目錄下有多個專案,你需要用引數-project指定一個專案。預設xcodebuild命令會構建你第一個target的。當然你也可以用-targetname指定。

如果要構建workspace,你必須指定-workspace-scheme引數。

當然你可以以用就比如-version、-showsdks、-list等一些命令來獲取一些專案相關的引數。

構建

在shell裡面 [ ]表示這個引數是可選的, 表示引數是必須的

話不多說,先上個命令:

  • -project 這個很清楚啦?你的專案名字
  • -target 這個也很清楚了吧?不過可以通過xcodebuild -list獲取
  • -configrtion 一些引數,也可以通過xcodebuild -list獲取
  • -sdk 這個可由 xcodebuild -showsdks得到,我一般都是預設
  • buildaction 這個指的是構建的動作,一般有build,analyze,archive,test,install,clean,預設當然是build

    還有其他的一些引數比較少用到

    來看看xcodebuild -list

    Information about project “ThreeDTouchTest”:

你們想要的Target有了,Schemes也有了,Configurations也有了,來看看xcodebuild -showsdks

構建吧,兄臺們,還等什麼?接著來看看構建workspace命令是怎麼樣的

基本都一樣,只不過這裡的workspacename跟schemename必須要指定。

命令執行成功後,一般會在你的專案目錄下生成build資料夾,你可以在裡面看到你的生成的包,還有dSYM檔案。(好像對workspace構建後不會在專案目錄下生成build資料夾,那你可以在你的命令後面新增SYMROOT=buildDir指定一個build資料夾)。

對了,還有這個命令可以檢視專案設定:

生成ipa檔案

生成檔案使用的是xrun命令:

打包成功後,會在桌面找到你的ipa。

是不是很簡單呢?

上傳到Fir

這個就更簡單了,敬請參照:Fir的命令列客戶端

總結

作為開發人員,肯定不可能天天跟著測試人員跑。自動化是非常有必要的,所以會點指令碼,肯定不會吃虧。

最後推薦一個好東西:自動構建打包,不是我寫的,有這麼好的輪子怎麼會自已再寫一個呢?

參考文件

官方文件

iOS自動打包併發布指令碼

相關文章