使用Cocoapods創建私有庫Pods(腳本篇)

上一篇嘗試了創建自己的pod私有庫,步驟還算簡單,但是有些重復性工作能不能用腳本代替呢?當然自己的功力還沒達到那個火候,只有借別人的輪子,偶然的一個機會找到了casa大神在github上有一個腳本,腳本地址。腳本提供了podspec,gitignore,readme.md,podfile,license模板,通過config.sh配置當前項目,就可以給將要組件化的項目添加這些必要的文件,然后在通過upload.sh腳本就可以提交podspec文件到repo去。接下來就簡單介紹一下腳本的使用步驟吧。

步驟一 下載腳本

這里下載腳本,ConfigPrivatePod文件夾中包含一個config.sh腳本文件和一個templates文件夾,templates文件夾里全是所需要的模板文件,在配置并執行了config.sh腳本后,會為我們的項目生成項目特定的文件。

文件目錄目錄.png

步驟二 創建私有源倉庫,配置模板

在公司自己的服務器或者在GitHub上創建一個作為私有庫的倉庫,這里我創建的倉庫名字為:XLZGComponent,倉庫地址為:http://*****/XLZGComponent.git。
首先,向Cocoapods的repo添加我們創建的私有庫,添加命令:

pod repo add XLZGComponent http://*****/XLZGComponent.git

接著,修改templates文件夾中的podfile模板,如下:

# Uncomment this line to define a global platform for your project
# platform :ios, '9.0'

//這里就是自己的私有源地址(我們剛剛創建的)
source 'http://*****/XLZGComponent.git'
//GitHub的源地址
source 'https://github.com/CocoaPods/Specs.git'

target '__ProjectName__' do
  # Uncomment this line if you're using Swift or would like to use dynamic frameworks
  # use_frameworks!

end

繼續,修改upload.sh腳本中私有庫名字,如下:

pod repo push 自己的私有庫名字 __ProjectName__.podspec --verbose --allow-warnings

我的就是這樣的:

pod repo push XLZGComponent __ProjectName__.podspec --verbose --allow-warnings

步驟三 創建項目工程,工程的git倉庫

創建一個工程項目,這個項目中將有我們一會兒需要pod的源文件。由于使用腳本,所以要注意項目和腳本文件的層級,我的是這樣的:

文件層級.png

我的PodTest文件下放了ConfigPrivatePod腳本文件夾,testA為我的工程項目,在git服務器上創建一個testA的git倉庫:http://*****/testA.git。

步驟四 配置并執行config.sh

終端cd到 ConfigPrivatePod 文件夾,運行腳本:

./ConfigPrivatePod.sh

按提示輸入項目的HTTPS Repo URL ,SSH Repo URL ,HOME Page URL地址,我這里就是輸入testA相關地址。配置好了,就可以發現我們項目文件下面多了一些東西:

詳情.png

說明:因為在實際使用中,我們不可能pod整個項目到我們項目中去,只會pod一些類文件或者資源文件。所以我在項目中創建了一個和項目名一樣的文件夾testA,里面有一個類,這個就是一會兒將作為第三使用的類。而且casa的這個腳本在創建podspec文件里設置源文件路徑也是在項目文件夾下與項目名一樣的文件夾。也不知道說清楚沒有,也就是要使用這個腳本,需要在xcode項目名目錄下創建一個和項目名一樣的文件夾里面放要作為第三方的文件。當然這不是必須,只是為了腳本,當然可以根據自己的需要修改腳本。還是覺得好繞,就說到這里吧,下面是xcode層級:

xcode層級.png

注意:放A_catergory類的文件夾testA在項目中必須是一個物理存在的一文件夾。

步驟五 提交項目到git倉庫,發版

參照前一篇,發版那一步,這里

步驟六 提交podspec文件到repo去

cd到templates文件下,執行upload.sh腳本:

 ./upload.sh

最后

最后就可以像使用AFNetworking一樣pod使用了,具體使用方法參照前一篇,使用步驟,這里

總結

終于寫完了,寫的好糾結,總覺得沒寫清楚,沒有清楚的表達出具體的步驟。如有不懂得地方,請留言,或者私信,一起探討,有不對的地方也請大家指出,我立刻改正。自己也了好幾篇文章,寫文章不容易,寫一篇通俗易懂的文章更不容易,這也許是我堅持寫的原因,希望有一天能讓自己想表達的通過文字完全的表達出來,寫文章還有一個好處,讓自己再一次梳理邏輯,讓邏輯更清晰,記憶更深刻。在此感謝casa大神。

分享是一件快樂的事情!

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

推薦閱讀更多精彩內容

  • Cocoapods是非常好用的一個iOS依賴管理工具,使用它可以方便的管理和更新項目中所使用到的第三方庫,以及將自...
    Nash33閱讀 2,098評論 0 50
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,810評論 18 139
  • 學習新知識必然是一個踩坑的過程,這兩天看了下pod私有庫的創建,總體來說還是比較簡單的,但是中間踩了一個坑,也不能...
    Yasin的簡書閱讀 1,852評論 4 11
  • 第三句。 第三句話說, 003 Few phenomena gave me more delight than t...
    演維閱讀 356評論 0 0
  • 做你喜歡的工作,不能保證會成功,但能保證你會快樂。 這種快樂,來自你全身心投入,每天都在進步的滿足感。 有人說,選...
    Cathy穎閱讀 167評論 0 0