iOS 自定義pod庫插入shell腳本

在開發(fā)私有pod庫時,我們可能會有這樣的需求,當(dāng)目標(biāo)工程安裝我們的pod庫之后,我們需要執(zhí)行響應(yīng)的操作,比如說在編譯之后上傳dsym文件、在運(yùn)行之前修改項目資源等等,如果平時項目開發(fā)中有這種需求,我們會通過shell或者ruby腳本去執(zhí)行,但是我們自定義的pod庫該怎樣去讓target工程去執(zhí)行這些腳本文件呢,下面上demo教程

1.創(chuàng)建Demo工程

pod lib create Yuehan

2.配置.podspec執(zhí)行腳本

image.png

3.podsepc script_phase

這個腳本是作為pod的編譯的一部分余耽,但是與prepare command不同,script是作為xcodebuild的一部分執(zhí)行的微服,腳本可以利用編譯器的一切環(huán)境變量,腳本的執(zhí)行順序是按照聲明順序執(zhí)行的叽奥。

像上面Demo中,我配置了一個script_phase,其中, :script=>表示所需要執(zhí)行的腳本,我們通過引用,并采用CMD可以書寫多行執(zhí)行腳本,
:execution_position =>表示是在編譯前執(zhí)行還是編譯之后執(zhí)行,:shell_path =>表示腳本運(yùn)行環(huán)境路徑

上面Demo中script1執(zhí)行后會寫入一個字符串在tst.txt文件中,pod install->run運(yùn)行結(jié)果


image.png

4.script_phase可以支持插入多條腳本

#  #script_phase2
  script1 = <<-CMD
    #Pods目錄
    podsPath=$(pwd)
    echo $podsPath >> /Users/gelei/Downloads/tst.txt
  CMD
  
  script2 = <<-CMD
    echo "Hello world" >> /Users/gelei/Downloads/tst.txt
  CMD
  #shell_path指定腳本運(yùn)行環(huán)境,execution_position指定遍以前還是編譯后執(zhí)行
#  s.script_phase = { :name => 'pod compile before', :script => script1, :shell_path =>'/bin/sh', :execution_position => :before_compile}
  
#  #script_phase2
  s.script_phase = [
  { :name => 'pod compile before1', :script => script1, :shell_path =>'/bin/sh', :execution_position => :before_compile},
  { :name => 'pod compile before2', :script => script2, :shell_path =>'/bin/sh', :execution_position => :before_compile}
  ]

4.1pod install->run運(yùn)行結(jié)果

image.png

可以看到這里兩個script都執(zhí)行了

Demo地址

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市蛉加,隨后出現(xiàn)的幾起案子同衣,更是在濱河造成了極大的恐慌竟块,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件耐齐,死亡現(xiàn)場離奇詭異浪秘,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)埠况,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進(jìn)店門耸携,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人辕翰,你說我怎么就攤上這事夺衍。” “怎么了喜命?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵沟沙,是天一觀的道長。 經(jīng)常有香客問我壁榕,道長矛紫,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任牌里,我火速辦了婚禮颊咬,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己贪染,他們只是感情好缓呛,可當(dāng)我...
    茶點故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著杭隙,像睡著了一般。 火紅的嫁衣襯著肌膚如雪因妙。 梳的紋絲不亂的頭發(fā)上痰憎,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天,我揣著相機(jī)與錄音攀涵,去河邊找鬼铣耘。 笑死,一個胖子當(dāng)著我的面吹牛以故,可吹牛的內(nèi)容都是我干的蜗细。 我是一名探鬼主播,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼怒详,長吁一口氣:“原來是場噩夢啊……” “哼炉媒!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起昆烁,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤吊骤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后静尼,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體白粉,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年鼠渺,在試婚紗的時候發(fā)現(xiàn)自己被綠了鸭巴。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡拦盹,死狀恐怖鹃祖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情掌敬,我是刑警寧澤惯豆,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站奔害,受9級特大地震影響楷兽,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜华临,卻給世界環(huán)境...
    茶點故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一芯杀、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦揭厚、人聲如沸却特。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽裂明。三九已至,卻和暖如春太援,著一層夾襖步出監(jiān)牢的瞬間闽晦,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工提岔, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留仙蛉,地道東北人。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓碱蒙,卻偏偏與公主長得像荠瘪,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子赛惩,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,465評論 2 348

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