元件化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