原創 2017-05-09
ios
關鍵點:git
- Cocoapods安裝及基本用法
- Cocoapods註冊Trunk
- 部署一個開源的pod
- 建立本身的私有的pod
因爲要適應某些業務的快速變化,現目前須要進行組件化開發,其實這是一個很好的改變,關於如何進行組件化開發、如何將基礎組件業務組件進行剝離開來、如何使用Mediator模式進行業務間相互通訊相互調用等,在後續進行深刻分析及實踐以後再來討論,這裏就先從最原始 工具
提及。(順便說一下:既然須要有一個比較大的改變,也有這個機會來實踐,那就索性從Objective-C過分到Swift來進行開發吧!)。
Cocoapods相信你使用第三方框架是常用到的,這是一個很好用的iOS管理依賴工具,它既可讓你很方便的使用第三方庫,也容許你將本身項目中的組件交由它進行管理。下面就來講一說如何使用cocoapods管理工具:github
Cocoapods安裝方式有兩種能夠直接經過官網下載.app進行安裝,不過我比較喜歡命令行安裝(須要依賴ruby環境,Mac都搭建好了ruby環境,這個咱們不須要去關心):shell
$ sudo gem install cocoapods
可能你在上述安裝過程當中會失敗,那多是由於網絡的緣由,如今咱們來替換一下Ruby鏡像:json
// 刪除原有的鏡像源 $ gem sources --remove https://rubygems.org/ // 添加國內最新的鏡像源(由於以前淘寶的那個好像不更新了) $ gem source -a https://gems.ruby-china.org/ // 接着執行 $ gem sources -l // 若是出現 > *** CURRENT SOURCES *** > > https://gems.ruby-china.org/ // 說明成功了,如今再來執行安裝便可 $ sudo gem install cocoapods
Cocoapods提供了不少功能,可是咱們日常使用的無外乎根據項目須要建立本身的Podfile、安裝Pod、更新Podswift
// 建立一個本身的Podfile,首先你必須進入到你項目所在的文件夾下面,而後執行 $ pod init // 經過vi查看並編輯你的Podfile(根據你的須要添加第三方庫) $ vi Podfile
// 保存Podfile以後,執行安裝 $ pod install // 有時候你可能會須要使用到 $ pod update
tips:何時使用pod install 何時使用pod update呢,我相信大多數人比較疑惑ruby
- pod install: 當你在工程中須要安裝新的pods時。即便你已經有了一個Podfile而且以前已經執行了pod install;或者說你須要從你的工程中添加/移除一個pods
- pod update: 僅僅當你想要更新一個新版本的pods
至此你已經掌握了Cocoapods最簡單的使用方法了,更多關於Cocoapods的使用能夠至官網Guides 或者經過pod --help
來查看使用方法。 接下來就來說講如何建立發佈本身的Spec,首先你須要註冊一個帳號:服務器
在你想建立一個本身私有庫或者發佈一個共有的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
若是你是一個非git版本控制使用的開發者,那麼在你部署一個開源的library以前,我建議你看一看個人另外一篇Git基礎,這裏只須要用到比較簡單的Git使用。app
$ git clone git@github.com:ApterKing/AKExtension.git // 完成以後進入到所在目錄 $ cd ../AKExtension
$ pod spec create [NAME] > [NAME]: podspec 名稱,通常與你在git上建立的repository相同 // 如: $ pod spec create AKExtension
// 我通常會先建立一個文件夾,用於放置個人{.h/.m/.swift Assets}等 $ mkdir Sources // 將你所需的文件拷貝至文件夾,以下就是這個pod的
// 添加全部文件 $ git add . // 提交 $ git commit -m "Initial AKExtension" // push到你的遠程倉庫 $ git push // 接下來就是須要使用到的一個Tag,這個在你的.podspec中須要配置 $ git tag -m "Initial Tag" 0.0.1 // 將tag添加至你的遠程倉庫 $ git push --tags
下面就是個人.podspec,固然你也能夠根據以前生成的提示本身修改或者在github上搜索一個別人寫好的.podspec就行修改
// 進入到.podspec所在目錄 $ pod spec lint // 若是出現錯誤,須要修改到提示無誤後方可執行下一步
$ pod trunk push [NAME].podspec
// 先更新一下repo $ pod repo update // 查找一下你提交的pod $ pod search 'AKExtension'
tips: 若是你在pod search沒法找到你的pod,能夠參照如下步驟:
- 執行 pod repo update 後從新pod search
或者:
- pod setup 而後刪除 rm ~/Library/Caches/CocoaPods/search_index.json 再從新pod search
在上面一節你已經瞭解瞭如何部署一個共有的pod了,可是每每大多數時候你是不能部署一個共有的pod。好比你公司本身開發的基礎組件代碼、業務組件代碼等,這個時候你就須要一個private pod了,下面就來簡單說一說如何建立一個private pod。咱們仍是依託於git,畢竟這個代碼之後須要與別人共同開發與維護,固然你也能夠在本身的服務器上搭建,只要可以保證你所在的Team可以有訪問權限就能夠了。
$ 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 .
相信你在上一章節已經瞭解瞭如何經過命令來建立.podspec了,這裏咱們再次建立一個,可是咱們須要讓它更有意義,請添加上你私有repo的名稱,咱們首先在git.oschina.net 上建立一個私有倉庫,好比咱們須要一個儀表盤(DashboardView)
建立好以後,按照上一章節的步驟,你須要將你的倉庫clone到本地,添加須要的文件及資源等,設置tag,建立.podspec,修改.podspec
$ pod repo push AKSwifty AKSwifty+AKDashboardView.podspec
source 'https://git.oschina.net/wangcccong/AKSwifty.git' platform :ios, "9.0" target "XXX" do pod 'AKSwifty+AKDashboardView','~>0.0.1' end
關於cocoapod的介紹就到這裏吧...