一鍵打包完整Shell腳本xcodebuild archive

一、目的和說明

為了給我自己的項目,能夠快速生成ipa包,研究了命令行給項目打包。
這里包含了兩個shell的腳本,都是用來給xcode項目打包成ipa文件。用于測試,上傳到到蒲公英或者飛機等平臺。這里的shell腳本只包含了打包生成ipa,并沒有包含分發上傳的過程。shell腳本內部是一個函數,使用起來也比較方便,你只需要在文件的最后,函數調用的后面,寫上自己的參數就可以。shell語言的函數不像oc,函數名后面不跟參數,直接在函數體里面用1,2...${10}代表各個參數的值。
由于更新了xcode8.3,xcrun命令已經不存在了,必須要配置plist的文件。

二、不需要配置證書信息

我用的xcode8,可以不用在腳本里面配置證書信息,只要你xcode項目中不是自動選擇證書,并且正確配置你的證書就可以了。相反,我測試了,無法打包成功。也就是說,你在腳本里面配置好你的證書信息,在xcode中不配置,這樣無法打包成功。xcodebuild archive打包的腳本中,沒有配置證書信息。

三、完整的shell腳本

1. xcodebuild archive打包腳本代碼

  #!/bin/bash
#只需要在終端中輸入 $ sh archive.sh  即可打包成ipa
 
packaging(){

#***********配置項目
#工程名稱(Project的名字)
MWProjectName=$1
#scheme名字 -可以點擊Product->Scheme->Manager Schemes...查看
MWScheme=$2
#Release還是Debug
MWConfiguration=$3
#日期
MWDate=`date +%Y%m%d_%H%M`
#工程路徑
MWWorkspace=$4
#build路徑
MWBuildDir=$5
#plist文件名,默認放在工程文件路徑的位置
MBPlistName=$6

#創建構建和輸出的路徑
mkdir -p $MWBuildDir

#pod 相關配置

#更新pod配置
pod install

#構建
xcodebuild archive \
-workspace "$MWProjectName.xcworkspace" \
-scheme "$MWScheme" \
-configuration "$MWConfiguration" \
-archivePath "$MWBuildDir/$MWProjectName" \
clean \
build \
-derivedDataPath "$MWBuildTempDir"

#生成ipa
xcodebuild -exportArchive \
-archivePath "$MWBuildDir/$MWProjectName.xcarchive" \
-exportPath "$MWBuildDir/$MWProjectName$MWDate" \
-exportOptionsPlist "$MWWorkspace/$MBPlistName"

open $MWBuildDir

}

#函數調用
# $1 工程名  $2 scheme名字  $3 Release還是Debug  $4 工程路徑  $5 ipa文件輸出路徑 $6 plist文件名字
packaging "XXX" "XXX"  "Release"  "/Users/maowo-001/Desktop/XXX" "/Users/maowo-001/Desktop/XXX/build" "adhocExportOptions.plist"

這個腳本,小伙伴還可以加上自己pod相關的命令,還有git相關的命令。比如:更新pods,如果你是組建的形式,可以讀取你所要的配置,然后在去pod install.
如果你是git做的代碼的管理,你還可以加入更新代碼的git命令,去更新你本地的代碼,保證你打包的時候代碼是更master上的代碼保持一致的。

2. plist文件相關內容

method這個字段對應的值:app-store, ad-hoc, enterprise, development
下面是我配置的plist文件的截圖

注意,plist文件也可以手動先打包一個ipa包,會自動生成一個plist文件,然后可以手動去修改plist內部的值。

adhocExportOptions.plist用于打包測試包或者越獄包
appstoreExportOptions.plist用于打包上傳到appstore

四、使用

打開終端,cd到包含.xcworkspace或者.xcodeprojde工程文件的文件夾下,如果你是用的xcodebuild的shell腳本,請把你的plist文件也放在改路徑下。然后sh 腳本名字.sh 運行完成之后,會自動打開生成ipa的文件夾。

五、期待

這里分享的是自己學習中覺得應該記錄下來的東西,希望各位小伙伴也可以用得到。如果有什么問題或者疑問歡迎一起討論,共同進步。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,748評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,165評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,595評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,633評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,435評論 6 405
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,943評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,035評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,175評論 0 287
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,713評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,599評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,788評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,303評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,034評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,412評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,664評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,408評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,747評論 2 370

推薦閱讀更多精彩內容

  • 本文始發于我的博文詳解Shell腳本實現iOS自動化編譯打包提交,現轉發至此。 目錄 前言 Shell腳本涉及的工...
    zackzheng閱讀 44,528評論 95 173
  • 做iOS開發時間久了,打包APP一定是比較頻繁的事情,每次都需要各種點點點。。。要是能簡單執行一個腳本就生成ipa...
    程序H閱讀 3,620評論 7 15
  • 隨著蘋果手持設備用戶的不斷增加,ios應用也增長迅速,同時隨著iphone被越獄越來越多的app 的渠道也不斷增多...
    rogerwu1228閱讀 792評論 0 1
  • 文/安德魯 在那遙遠的夜空 有一顆 美麗的小星球 好美的星 美麗的心靈 好美的星 美麗的圣景 自由云兒如風 歡喜鸚...
    月光下的Andre閱讀 213評論 0 1
  • 1. 傳說溺水而亡的人,魂魄會永遠在那條河中游蕩,被困在河里,不得輪回,一生飄蕩。若要入輪回,必須找到替身,否則,...
    子夜晨星閱讀 1,031評論 4 13