1. 程式人生 > >元件化pod庫製作

元件化pod庫製作

一)、元件化的目的:

1、解耦各模組和業務,便於開發維護

2、構建可複用模組,便於複用

3、由於開發人員很多時,合作開發程式碼很容易衝突等,溝通成本很高,讓各模組做成元件,每個人只負責某一模組,讓開發更有效率

4、提高工程編譯速度,當工程很大時,編譯是一個十分耗時的過程,各模組做成元件,前期做功能時,只需關注編譯自己的模組工程,減少總的編譯時間

5、便於模組化測試,可以單獨測試各元件模組

二)、元件化的型別:公有和私有podspec

1、使用Cocoapods建立公有podspec

2、使用Cocoapods建立私有podspec

 

三)、公有podspec製作步驟:   當然你電腦安裝了cocoaPods了,

1、註冊trunk

檢視自己是否註冊過trunk

$pod trunk me 

註冊trunk

$ pod trunk register 郵箱 ‘你的名稱’ —description=‘電腦機型描述’

如:$ pod trunk register zhangsan@163.com ‘zhangsan’ —description=‘MacBook Pro’

註冊後,cocoapods官方會向你郵箱傳送確認郵件,點選確認即可.

確認後,可以再使用$pod trunk me  檢視個人資訊

2、建立專案工程,並上傳到github上,獲得專案程式碼地址

https://github.com/xxx/xxx.git

3、建立.podspec

1、cd 到你的專案下

2、建立.podspec   podName為你自己的元件名稱

$ pod spec create podName 或者 pod spec create podName podName庫遠端地址

4、編輯.podspec檔案

可以使用文字編輯器編輯上面生成的podName.podspec檔案,根據需要填寫內容,一般按照下面的格式填就夠了:尤其注意s.version版本號就是你程式碼的tag版本號

Pod::Spec.new do |s|
  s.name         = "SpecComponent"
  s.version      = "0.1.0"
  s.summary      = "SpecComponent is a kind of learning tools"
  s.description  = <<-DESC
是一個學習podspec的專案 藉助這個專案你可以快速構建一個pod庫 有了這個學習專案 就無憂了
                   DESC

  s.homepage     = "https://github.com/zhangsan/SpecComponent"
  s.license      = { :type => "MIT", :file => "FILE_LICENSE" }

  s.author             = { "zhangsan" => "[email protected]" }
   s.platform     = :ios, "8.0"
  s.source       = { :git => "https://github.com/zhangsan/SpecComponent.git", :tag => "#{s.version}" }
  s.source_files  = "SpecComponent/**/*.{h,m}"


  # s.exclude_files = "Classes/Exclude"
  # s.public_header_files = "Classes/**/*.h"
  # s.resource  = "icon.png"
  # s.resources = "Resources/*.png"
  # s.requires_arc = true
  # s.xcconfig = { "HEADER_SEARCH_PATHS" => "$(SDKROOT)/usr/include/libxml2" }
  # s.dependency "JSONKit", "~> 1.4"

end

5、本地驗證.podspec檔案是否可用($ cd podspec檔案所在目錄)

一般一下幾種驗證方式:

驗證本地的:

$ pod lib lint (驗證)

$ pod lib lint —verbose (驗證-並顯示詳細資訊)

$ pod lib lint —allow-warning   (驗證—忽略警告)

本地和遠端都驗證:

$ pod spec lint podName.podspec —verbose  (這個從本地和遠端驗證你的pod能否通過驗證,上面三個都是從本地驗證你的pod能否通過驗證)

6、將.podspec和程式碼提交到git上,並打版本號tag

$ git tag -a 0.0.1 -m “V0.0.1”

$ git push —tags

7、再次本地遠端驗證.podspec是否可用

$ pod spec lint podName.podspec —verbose  (這個從本地和遠端驗證你的pod能否通過驗證,上面三個都是從本地驗證你的pod能否通過驗證)

8、釋出公有podspec庫

提交到遠端(有警告選最後一個)

$ pod trunk push podName.podspec

$ pod trunk push podName.podspec —verbose

$ pod trunk push podName.podspec —allow-warnings

9、驗證倉庫(注意search不到,並不一定是沒成功,使用podfile中看看能否拉下來程式碼)

$ pod search podName (搜尋你的podName庫)

10、在你新開的專案工程中使用podfile,拉取你元件庫程式碼

Pod ‘podName’

至此,公有podspec庫製作就完畢了

下一篇接著寫pods