使用CocoaPods管理Objective-C專案

CocoaPods?

每個語言環境中在開發時都會需要用到很多現成的Library,但在管理上面大部分都是手動管理,而iOS之中卻有很方便的管理方式。CocoaPods是專門管理Library的Ruby應用,但使用CocoaPods好處還有它自已本身有管理一份開放式的Library在GitHub上,許多的開發者可以經過作者的認可後,將自已寫好的Library傳送到CocoaPods官方Libray中管理,如此一來,其他開發者就可直接使用,除此之外,它也支援建立私有的Library,這個往後再另外說明。

CocoaPods官網

CocoaPods之Pods

然而,CocoaPods中,Pod指的就是Objective-C寫好的功能Library,而每個Pod中都會記錄每個Pods的資訊內容,這裡稱為spec,它是以副檔名podspec存在,內容就像這樣:

Pod::Spec.new do |spec|
  spec.name             = 'Reachability'
  spec.version          = '3.1.0'
  spec.license          =  :type => 'BSD' 
  spec.homepage         = 'https://github.com/tonymillion/Reachability'
  spec.authors          = 'Tony Million' => 'tonymillion@gmail.com'
  spec.summary          = 'ARC and GCD Compatible Reachability Class for iOS and OS X.'
  spec.source           =  :git => 'https://github.com/tonymillion/Reachability.git', :tag => 'v3.1.0' 
  spec.source_files     = 'Reachability.h,m'
  spec.framework        = 'SystemConfiguration'
  spec.requires_arc     = true
end`

參考自CocoaPods官網

如果使用的Pod中也有用到其他的Pod去配合使用,當然可以根據spec內容自動完成其他Pod的下載,一但有更新時也可以透過指令完成更新,不需要太過於擔心每個Pod的相依性。