自動化打包

最近在嘗試自動化打包,畢竟每次xcode打包還是挺麻煩的

網(wǎng)上有很多教程,選擇適合自己的需求的就好


facebook 的xctool

fastlane 的gym

集成Jenkins的(我的需求沒那么高,只是要自動化打包和上傳fir而已)


自然也就有著不同的準備工作的咯

安裝工具

因為系統(tǒng)更新到eicapitain,所以很多同學(xué)用HomeBrew或者gym 安裝工具的時候都可能會出現(xiàn)Permition denied 的提示

兩種方法:

1 去掉系統(tǒng)的rootless的設(shè)置

2 我的做法,安裝的時候指定目錄

brew install xctool(xctool)

gem install -n /usr/local/bin gym(fastlane)

gem install -n /usr/local/bin fir-cli(fir 上傳)

安裝好這些工具,就可以開始嘗試先用xcode打一次包,確認的證書和provison文件是對的


fastlane 的打包腳本

#!/bin/bash

#計時
SECONDS=0

#假設(shè)腳本放置在與項目相同的路徑下
project_path=$(pwd)
#取當(dāng)前時間字符串添加到文件結(jié)尾
now=$(date +"%Y_%m_%d_%H_%M_%S")

#指定項目的scheme名稱
scheme="tete"
#指定要打包的配置名
configuration="development"
#指定打包所使用的輸出方式灶挟,目前支持app-store, package, ad-hoc, enterprise, development, 和developer-id,即xcodebuild的method參數(shù)
export_method='development'

#指定項目地址
workspace_path="$project_path/tete.xcworkspace"
#指定輸出路徑
output_path="/Users/chengxun/Desktop/"
#指定輸出歸檔文件地址
archive_path="$output_path/tete_${now}.xcarchive"
#指定輸出ipa地址
ipa_path="$output_path/tete_${now}.ipa"
#指定輸出ipa名稱
ipa_name="tete_${now}.ipa"
#獲取執(zhí)行命令時的commit message
commit_msg="$1"

#輸出設(shè)定的變量值
echo "===workspace path: ${workspace_path}==="
echo "===archive path: ${archive_path}==="
echo "===ipa path: ${ipa_path}==="
echo "===export method: ${export_method}==="
echo "===commit msg: $1==="

#先清空前一次build
gym --workspace ${workspace_path} --scheme ${scheme} --clean --configuration ${configuration} --archive_path ${archive_path} --export_method ${export_method} --output_directory ${output_path} --output_name ${ipa_name}

#上傳到fir
fir publish ${ipa_path} -T fir_token -c "${commit_msg}"

#輸出總用時
echo "===Finished. Total time: ${SECONDS}s==="

xctool的打包腳本

#!/bin/bash

#計時
SECONDS=0

#假設(shè)腳本放置在與項目相同的路徑下
project_path=$(pwd)
#取當(dāng)前時間字符串添加到文件結(jié)尾
now=$(date +"%Y_%m_%d_%H_%M_%S")

#指定項目的scheme名稱
scheme="tete"
#指定要打包的配置名
configuration="Adhoc"
#指定打包所使用的provisioning profile名稱
provisioning_profile='qiaoshouteteIdentifier'

#指定項目地址
workspace_path="$project_path/tete.xcworkspace"
#指定輸出路徑
output_path="/Users/chengxun/Desktop/"
#指定輸出歸檔文件地址
archive_path="$output_path/tete${now}.xcarchive"
#指定輸出ipa地址
ipa_path="$output_path/tete_${now}.ipa"
#獲取執(zhí)行命令時的commit message
commit_msg="$1"

#輸出設(shè)定的變量值
echo "===workspace path: ${workspace_path}==="
echo "===archive path: ${archive_path}==="
echo "===ipa path: ${ipa_path}==="
echo "===profile: ${provisioning_profile}==="
echo "===commit msg: $1==="

#先清空前一次build
xctool clean -workspace ${workspace_path} -scheme ${scheme} -configuration ${configuration}

#根據(jù)指定的項目邦蜜、scheme赁遗、configuration與輸出路徑打包出archive文件
xctool build -workspace ${workspace_path} -scheme ${scheme} -configuration ${configuration} archive -archivePath ${archive_path}

#使用指定的provisioning profile導(dǎo)出ipa
#我暫時沒找到xctool指定provisioning profile的方法胜嗓,所以這里用了xcodebuild
xcodebuild -exportArchive -archivePath ${archive_path} -exportPath ${ipa_path} -exportFormat ipa -exportProvisioningProfile "${provisioning_profile}"

#上傳到fir
#fir publish ${ipa_path} -T fir_token -c "${commit_msg}"

#輸出總用時
echo "===Finished. Total time: ${SECONDS}s==="

對比下兩者

fastlane gym: 1 速度快 2 有dysm文件 3 不用指定provison文件

xctool: 相比下就要弱一些咯 看圖就知道咯

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末仰泻,一起剝皮案震驚了整個濱河市瓶埋,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌浮创,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,817評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件砌函,死亡現(xiàn)場離奇詭異斩披,居然都是意外死亡,警方通過查閱死者的電腦和手機讹俊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評論 3 385
  • 文/潘曉璐 我一進店門垦沉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人仍劈,你說我怎么就攤上這事厕倍。” “怎么了贩疙?”我有些...
    開封第一講書人閱讀 157,354評論 0 348
  • 文/不壞的土叔 我叫張陵讹弯,是天一觀的道長。 經(jīng)常有香客問我这溅,道長组民,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,498評論 1 284
  • 正文 為了忘掉前任悲靴,我火速辦了婚禮臭胜,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己耸三,他們只是感情好乱陡,可當(dāng)我...
    茶點故事閱讀 65,600評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著仪壮,像睡著了一般憨颠。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上睛驳,一...
    開封第一講書人閱讀 49,829評論 1 290
  • 那天烙心,我揣著相機與錄音,去河邊找鬼乏沸。 笑死淫茵,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蹬跃。 我是一名探鬼主播匙瘪,決...
    沈念sama閱讀 38,979評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蝶缀!你這毒婦竟也來了丹喻?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,722評論 0 266
  • 序言:老撾萬榮一對情侶失蹤翁都,失蹤者是張志新(化名)和其女友劉穎碍论,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體柄慰,經(jīng)...
    沈念sama閱讀 44,189評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡鳍悠,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,519評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了坐搔。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片藏研。...
    茶點故事閱讀 38,654評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖概行,靈堂內(nèi)的尸體忽然破棺而出蠢挡,到底是詐尸還是另有隱情,我是刑警寧澤凳忙,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布业踏,位于F島的核電站,受9級特大地震影響涧卵,放射性物質(zhì)發(fā)生泄漏堡称。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,940評論 3 313
  • 文/蒙蒙 一艺演、第九天 我趴在偏房一處隱蔽的房頂上張望却紧。 院中可真熱鬧桐臊,春花似錦、人聲如沸晓殊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽巫俺。三九已至认烁,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間介汹,已是汗流浹背却嗡。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留嘹承,地道東北人窗价。 一個月前我還...
    沈念sama閱讀 46,382評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像叹卷,于是被迫代替她去往敵國和親撼港。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,543評論 2 349

推薦閱讀更多精彩內(nèi)容