原創(chuàng) 2017-05-09
關(guān)鍵點:
- Cocoapods安裝及基本用法
- Cocoapods注冊Trunk
- 部署一個開源的pod
- 創(chuàng)建自己的私有的pod
由于要適應(yīng)某些業(yè)務(wù)的快速變化,現(xiàn)目前需要進(jìn)行組件化開發(fā)田绑,其實這是一個很好的改變,關(guān)于如何進(jìn)行組件化開發(fā)彼念、如何將基礎(chǔ)組件業(yè)務(wù)組件進(jìn)行剝離開來、如何使用Mediator模式進(jìn)行業(yè)務(wù)間相互通信相互調(diào)用等浅萧,在后續(xù)進(jìn)行深入分析及實踐之后再來討論逐沙,這里就先從最原始 工具
說起。(順便說一下:既然需要有一個比較大的改變洼畅,也有這個機會來實踐吩案,那就索性從Objective-C過度到Swift來進(jìn)行開發(fā)吧!)帝簇。
???Cocoapods相信你使用第三方框架是經(jīng)常使用到的徘郭,這是一個很好用的iOS管理依賴工具靠益,它既可以讓你很方便的使用第三方庫,也允許你將自己項目中的組件交由它進(jìn)行管理残揉。下面就來說一說如何使用cocoapods管理工具:
Cocoapods工具的安裝
Cocoapods安裝方式有兩種可以直接通過官網(wǎng)下載.app進(jìn)行安裝胧后,不過我比較喜歡命令行安裝(需要依賴ruby環(huán)境,Mac都搭建好了ruby環(huán)境抱环,這個我們不需要去關(guān)心):
$ sudo gem install cocoapods
可能你在上述安裝過程中會失敗壳快,那可能是因為網(wǎng)絡(luò)的原因,現(xiàn)在我們來替換一下Ruby鏡像:
// 刪除原有的鏡像源
$ gem sources --remove https://rubygems.org/
// 添加國內(nèi)最新的鏡像源(因為之前淘寶的那個好像不更新了)
$ gem source -a https://gems.ruby-china.org/
// 接著執(zhí)行
$ gem sources -l
// 如果出現(xiàn)
> *** CURRENT SOURCES ***
>
> https://gems.ruby-china.org/
// 說明成功了镇草,現(xiàn)在再來執(zhí)行安裝即可
$ sudo gem install cocoapods
Cocoapods工具的基本的用法
Cocoapods提供了很多功能眶痰,但是我們平常使用的無外乎根據(jù)項目需要創(chuàng)建自己的Podfile、安裝Pod陶夜、更新Pod
// 創(chuàng)建一個自己的Podfile凛驮,首先你必須進(jìn)入到你項目所在的文件夾下面裆站,然后執(zhí)行
$ pod init
// 通過vi查看并編輯你的Podfile(根據(jù)你的需要添加第三方庫)
$ vi Podfile
// 保存Podfile之后条辟,執(zhí)行安裝
$ pod install
// 有時候你可能會需要使用到
$ pod update
tips:什么時候使用pod install 什么時候使用pod update呢,我相信大多數(shù)人比較疑惑
- pod install: 當(dāng)你在工程中需要安裝新的pods時宏胯。即使你已經(jīng)有了一個Podfile并且之前已經(jīng)執(zhí)行了pod install羽嫡;或者說你需要從你的工程中添加/移除一個pods
- pod update: 僅僅當(dāng)你想要更新一個新版本的pods
至此你已經(jīng)掌握了Cocoapods最簡單的使用方法了,更多關(guān)于Cocoapods的使用可以至官網(wǎng)Guides 或者通過pod --help
來查看使用方法肩袍。
接下來就來講講如何創(chuàng)建發(fā)布自己的Spec杭棵,首先你需要注冊一個賬號:
Cocoapods注冊Trunk
在你想創(chuàng)建一個自己私有庫或者發(fā)布一個共有的pods之前,你需要有一個Cocoapods Trunk:
$ pod trunk register [Your-Email] '[Your-Name]' --description='[Your-Desc]'
> [Your-Email]: 任意郵件氛赐,但是我比較推薦你使用github上的Email
> [Your-Name]: 推薦使用github上使用的Name
> [Your-Desc]: 一個簡單的描述魂爪,往往這個時候我們使用的是自己電腦的一個描述
// 比如我自己注冊了一個
$ pod trunk register wangcccong@foxmail.com 'ApterKing' --description='wangcong Mac Pro 13'
// 注冊完成后,你可以通過[pod trunk me]查看信息
$ pod trunk me
部署一個開源的pod
如果你是一個非git版本控制使用的開發(fā)者艰管,那么在你部署一個開源的library之前滓侍,我建議你看一看我的另一篇Git基礎(chǔ),這里只需要用到比較簡單的Git使用牲芋。
- 在你的Github上創(chuàng)建一個repository
- 將你的庫直接clone下來
$ git clone git@github.com:ApterKing/AKExtension.git
// 完成之后進(jìn)入到所在目錄
$ cd ../AKExtension
- 創(chuàng)建.podspec
$ pod spec create [NAME]
> [NAME]: podspec 名稱撩笆,一般與你在git上創(chuàng)建的repository相同
// 如:
$ pod spec create AKExtension
- 下面來將你的代碼或者資源添加到項目中
// 我一般會先創(chuàng)建一個文件夾,用于放置我的{.h/.m/.swift Assets}等
$ mkdir Sources
// 將你所需的文件拷貝至文件夾缸浦,如下就是這個pod的
- 接下來你需要將你的資源或者文件添加到git并提交
// 添加所有文件
$ git add .
// 提交
$ git commit -m "Initial AKExtension"
// push到你的遠(yuǎn)程倉庫
$ git push
// 接下來就是需要使用到的一個Tag夕冲,這個在你的.podspec中需要配置
$ git tag -m "Initial Tag" 0.0.1
// 將tag添加至你的遠(yuǎn)程倉庫
$ git push --tags
- 修改.podspec
下面就是我的.podspec,當(dāng)然你也可以根據(jù)之前生成的提示自己修改或者在github上搜索一個別人寫好的.podspec就行修改
- 通過手動方式檢驗一下你的.podspec是否正確
// 進(jìn)入到.podspec所在目錄
$ pod spec lint
// 如果出現(xiàn)錯誤裂逐,需要修改到提示無誤后方可執(zhí)行下一步
- 提交公有l(wèi)ibrary
$ pod trunk push [NAME].podspec
- 現(xiàn)在就來看看是否成功
// 先更新一下repo
$ pod repo update
// 查找一下你提交的pod
$ pod search 'AKExtension'
tips: 如果你在pod search無法找到你的pod歹鱼,可以參照以下步驟:
- 執(zhí)行 pod repo update 后重新pod search
或者:
- pod setup 然后刪除 rm ~/Library/Caches/CocoaPods/search_index.json 再重新pod search
部署一個私有的pod
在上面一節(jié)你已經(jīng)了解了如何部署一個共有的pod了,但是往往大多數(shù)時候你是不能部署一個共有的pod卜高。比如你公司自己開發(fā)的基礎(chǔ)組件代碼弥姻、業(yè)務(wù)組件代碼等秩霍,這個時候你就需要一個private pod了,下面就來簡單說一說如何創(chuàng)建一個private pod蚁阳。我們還是依托于git铃绒,畢竟這個代碼以后需要與別人共同開發(fā)與維護(hù),當(dāng)然你也可以在自己的服務(wù)器上搭建螺捐,只要能夠保證你所在的Team能夠有訪問權(quán)限就可以了颠悬。
- 重復(fù)上一章節(jié)的創(chuàng)建github repository,此時你只需要注意選擇private定血,因為在github上private需要付費赔癌,這里我就選用開源中國的git
- 創(chuàng)建一個私有Repo
$ pod repo add REPO_NAME SOURCE_URL
> REPO_NAME: repo 名稱
> SOURCE_URL: 指向的地址
//如
$ pod repo add AKSwifty git@git.oschina.net:wangcccong/AKSwifty.git
- 檢查是否操作成功
$ cd ~/.cocoapods/repos/AKSwifty
$ pod repo lint .
- 創(chuàng)建并修改.podspec
相信你在上一章節(jié)已經(jīng)了解了如何通過命令來創(chuàng)建.podspec了,這里我們再次創(chuàng)建一個澜沟,但是我們需要讓它更有意義灾票,請?zhí)砑由夏闼接衦epo的名稱,我們首先在git.oschina.net 上創(chuàng)建一個私有倉庫茫虽,比如我們需要一個儀表盤(DashboardView)
創(chuàng)建好之后刊苍,按照上一章節(jié)的步驟,你需要將你的倉庫clone到本地濒析,添加需要的文件及資源等正什,設(shè)置tag,創(chuàng)建.podspec号杏,修改.podspec
- 添加你的Podspec到私有repo
$ pod repo push AKSwifty AKSwifty+AKDashboardView.podspec
- 私有倉庫的使用你應(yīng)該懂的婴氮,需要在Podfile添加source源
source 'https://github.com/CocoaPods/Specs'
source 'https://git.oschina.net/wangcccong/AKSwifty.git'
platform :ios, "9.0"
target "XXX" do
pod 'AKSwifty+AKDashboardView','~>0.0.1'
end
關(guān)于cocoapod的介紹就到這里吧...