為你的團隊創(chuàng)建PrivateCocoaPod

在篇教程基于你對CocoaPods 和 iOS 開發(fā)有了一個基礎(chǔ)的了解及皂。

Setp1.創(chuàng)建一個git倉庫

你需要為你的private Pod創(chuàng)建兩個git 倉庫宗收。一個為Pod創(chuàng)建的港庄,另外一個作為你的Podspec倉庫欢搜。Podspec是你priavte pod保存信息的地方牛曹。為了添加private Podspec到你本地的CocoaPods中,運行下面的命令:
pod repo add [REPO_NAME] [SOURCE_URL]
你將會用[REPO_NAME]這個名字來引用Podspec倉庫瓢娜。[SOURCE_URL]是你倉庫的git地址挂洛。如果上述操作順利,你將會看到一個目錄在你機器的~/.cocoapods/repos目錄下眠砾,目錄名字是你倉庫的名字虏劲。

Setp2.用pod lib create創(chuàng)建你的Pod

CocoaPods有一個很nice的功能幫助你建立自己的Pod Project。里面還包括了test app和testing framework褒颈。運行下面命令即可:
pod lib create [POD_NAME]

Setp3. 編輯.podsepc文件

一個Podspec或者Spec,描述了一個Pod library的版本柒巫。它包含了很多細(xì)節(jié)。包括source file的地址谷丸,build setting的設(shè)置堡掏,依賴frameworks等,和一些其他的metadata刨疼,比如泉唁,名稱、版本揩慕、描述亭畜。下面是一個Grio's的private pod的Podspec文件:

Pod::Spec.new do |s|
s.name             = "GrioCommon"
s.version          = "1.1.7"
s.summary          = "Common functions for Grio iOS apps"
s.description      = <<-DESC
Common functions for Grio iOS apps. functionality includes:
* Universal User Settings
* Localytics libraries and support files
DESC
s.homepage         = "[https://github.com/Grio/GrioCommoniOS](https://github.com/Grio/GrioCommoniOS)"
s.license          = 'MIT'
s.author           = { "Doug Kadlecek" => "dkadlecek@grio.com" }
s.source           = { :git => "[https://github.com/Grio/GrioCommoniOS.git](https://github.com/Grio/GrioCommoniOS.git)", :tag => s.version.to_s }
s.platform     = :ios, '7.0'
s.requires_arc = true
s.source_files = 'Pod/Classes/*.{h,m}'
s.resource_bundles = {
  'GrioCommon' => ['Pod/Assets/*.*'] 
}
s.frameworks = 'UIKit'
s.dependency 'AFNetworking', '~> 2.4.1'
s.subspec 'Analytics' do |as|
  as.source_files = 'Pod/Classes/Analytics/*.{h,m}', 'Pod/Classes/*.{h,m}'
  as.dependency 'Localytics-iOS-Client', '~> 2.71.0'
end
s.subspec 'UserSettings' do |us| 
  us.source_files = 'Pod/Classes/UserSettings/*. {h,m}'
  end
end

用Subspecs來組織Pod的功能和代碼,是一個很棒的辦法迎卤。注意拴鸵,因為CocoaPods自動為你的Pod創(chuàng)建Xcode Project,你必須要使用目錄而不是XCode來組織你的source 文件蜗搔,注意下面的命令:

s.resource_blundles = {
    'GrioCommon' => ['Pod/Assets/*.*']
}

這里創(chuàng)建了一個source bundle劲藐,名為GrioCommon,被放在Pod/Assets目錄下面碍扔。
這些資源能從Pod里面訪問到瘩燥。

NSBundle *bundle = [NSBundle bundleWithPath:[[NSBundle mainBundle]
  pathForResource:@"GrioCommon" ofType:@"bundle"]];
NSString *filePath = [bundle pathForResource:@"grio-user-settings" ofType:@"js"];
NSData *fileData = [NSData dataWithContentsOfFile:filePath];

你能夠利用resource bundle里的資源訪問任何你需要的非編碼的文件秕重。
在Podspec文件中還有很多其他選項不同。你可以在CocoPods的官方地址中查看。

Setp4.Push your repo

現(xiàn)在你已經(jīng)建立并且測試了你的Pod(測試你的Pod溶耘,這一點很重要二拐,本人在這里折騰了很久),是時候部署你的Private Podsepc 倉庫了凳兵。
第一步為你的Pod的git倉庫打上標(biāo)簽(版本號)

git tag '1.1.7'
git push --tags

tag要和你的.Podspec 倉庫的版本號一樣百新。一旦你把tag,push到Pod倉庫庐扫,你就可以使用下面的命令了

pod repo push [REPO_NAME] [POD_NAME].podspec

把你的library饭望,push到已經(jīng)命名的private Podspec倉庫里嗎仗哨。如果你想要你團隊的其他成員能夠訪問并且使用你創(chuàng)建的private pod。你必須要把他們加為你的library的developer铅辞。

FA9C8FC7-593D-45F0-ACB1-A4668A66621D.png

我們團隊使用的是GitLab來托管項目的厌漂,地址在我們自己的服務(wù)器上面。
或者斟珊,把私有倉庫添加到他們機器上的~/.cocoapods/repos目錄下苇倡。
pod repo add [REPO_NAME] [SOURCE_URL]

Congratulations!你已經(jīng)發(fā)布了你的第一個Private Pod。你可以更簡單的享受重用code的樂趣了囤踩,在你的iOS project之間旨椒。

參考文檔如下
原文地址
官方Private Pod教程
在github上創(chuàng)建你自己的Public Pod

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市堵漱,隨后出現(xiàn)的幾起案子综慎,更是在濱河造成了極大的恐慌,老刑警劉巖勤庐,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件寥粹,死亡現(xiàn)場離奇詭異,居然都是意外死亡埃元,警方通過查閱死者的電腦和手機涝涤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來岛杀,“玉大人阔拳,你說我怎么就攤上這事±噜停” “怎么了糊肠?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長遗锣。 經(jīng)常有香客問我货裹,道長,這世上最難降的妖魔是什么精偿? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任弧圆,我火速辦了婚禮,結(jié)果婚禮上笔咽,老公的妹妹穿的比我還像新娘搔预。我一直安慰自己,他們只是感情好叶组,可當(dāng)我...
    茶點故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布拯田。 她就那樣靜靜地躺著,像睡著了一般甩十。 火紅的嫁衣襯著肌膚如雪船庇。 梳的紋絲不亂的頭發(fā)上吭产,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天,我揣著相機與錄音鸭轮,去河邊找鬼垮刹。 笑死,一個胖子當(dāng)著我的面吹牛张弛,可吹牛的內(nèi)容都是我干的荒典。 我是一名探鬼主播,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼吞鸭,長吁一口氣:“原來是場噩夢啊……” “哼寺董!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起刻剥,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤遮咖,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后造虏,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體御吞,經(jīng)...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年漓藕,在試婚紗的時候發(fā)現(xiàn)自己被綠了陶珠。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡享钞,死狀恐怖揍诽,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情栗竖,我是刑警寧澤暑脆,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站狐肢,受9級特大地震影響添吗,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜份名,卻給世界環(huán)境...
    茶點故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一碟联、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧同窘,春花似錦玄帕、人聲如沸部脚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽委刘。三九已至丧没,卻和暖如春鹰椒,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背呕童。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工漆际, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人夺饲。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓奸汇,卻偏偏與公主長得像,于是被迫代替她去往敵國和親往声。 傳聞我的和親對象是個殘疾皇子擂找,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,914評論 2 355

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