使用 CocoaPods 進行團隊協作

jopen 8年前發布 | 11K 次閱讀 CocoaPods iOS開發 移動開發

讓程序流暢穩健的運行是開發者們的理想,這個理想時而遙遠,時而近在咫尺。而往往那個觸手可及的時刻,卻正是夢碎的邊緣。

在團隊協作中,修改別人的代碼是一件像掃雷游戲一樣的事情,你永遠不知道你做的到底是 “優化” 還是 “觸雷”。

使用 Cocoapods 將不同的功能進行切割,獨立成模塊再整合進 App,成為了一個行之有效的方法,本文就來一起研究一下如何使用 CocoaPods 來進行組件模塊化。

創建自己的 Pod

RichTextView 為例,完成類庫的功能后的第一件事就是創建 RichTextView 的 podspec 描述文件

進入項目的根目錄

pod spec create RichTextView  

這個描述文件其實是一段 Ruby 代碼,描述了和這個庫相關的內容,最重要的是描述了庫的授權協議,如何獲取庫的代碼,版本號,以及編譯方式

Pod::Spec.new do |s|

  s.name         = "RichTextView"
  s.version      = "0.3.1"
  s.summary      = "RichTextView based On TextKit"

  s.description  = <<-DESC
                   RichTextView based On TextKit, With Mention, Hashtag Feature
                   DESC

  s.homepage     = "https://github.com/kevinzhow/RichTextView"
  s.screenshots  = "https://raw.githubusercontent.com/onevcat/Kingfisher/master/images/logo.png"

  s.license      = { :type => "MIT", :file => "LICENSE" }

  s.authors            = { "kevinzhow" => "kevinchou.c@gmail.com" }
  s.social_media_url   = "http://推ter.com/kevinzhow"

  s.ios.deployment_target = "8.0"
  # s.osx.deployment_target = "10.7"

  s.source       = { :git => "https://github.com/kevinzhow/RichTextView.git", :tag => s.version }
  s.source_files  = "RichTextView/Source/*.swift"
  s.requires_arc = true

end

值得需要特別注意的是 s.version 正是 s.source 里想要從 git 取出來的 tag 版本。

s.version      = "0.3.1"  
s.source       = { :git => "https://github.com/kevinzhow/RichTextView.git", :tag => s.version }  

s.source_files 相對應的就是你的庫是在 git 的哪個文件夾里,的哪些文件

s.source_files  = "RichTextView/Source/*.swift"  

如果是 Swift 項目,需要注意給你的類和需要暴露的方法加上 public 字段

當以上都編輯妥當之后,需要先驗證一下這個文件有沒有錯誤

pod spec lint RichTextView.podspec  

驗證無誤后,如果愿意開源的話,就可以推入 Pod 的倉庫。

公開發布 Pod

首先需要注冊一下你自己的身份,例如你想注冊的郵箱是 orta@cocoapods.org,名字是 Orta Therox,那么可以用下面的命令

pod trunk register orta@cocoapods.org 'Orta Therox'  

注冊完成后,就可以把上面驗證通過的 Pod 發布上去

pod trunk push RichTextView.podspec  

本地測試 Pod

團隊協作的項目通常并不需要暴露到外部,那么我們只需要跳過 pod trunk push 的步驟,并在 Podfile 聲明一下 path 地址即可

pod 'RichTextView', :path => '../CatchLib-iOS/RichTextView/'  

Enjoy!

來自: http://tips.producter.io/shi-yong-cocoapods-jin-xing-tuan-dui-xie-zuo/

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!