闡述 随着iOS的不斷發展,越來越多的開發者開始使用CocoaPods來管理他們的第三方。使用Pods時,我在考慮Pods能不能給自己更大的幫助,改變現在的開發風格。
制作 為了表示對CocoaPods的尊重,首先附上CocoaPods Github官方連結: https://github.com/CocoaPods 。 下方将介紹Pods制作步驟(文中多處操作使用Git指令,使用者可使用SourceTree來操作) 一、在Github中建立一個倉庫(Repository) 相信大家都有Github賬号,此處忽略關于Github賬号申請細節。

上方各部分含義: 1、Repository name 代碼倉庫名稱,也可以說是Pod的名字
2、Description 代碼倉庫的描述資訊
3、倉庫的公開性 随個人能力選擇,Public免費,Private收費
4、是否建立一個預設的README檔案 完整的代碼倉庫,都需要README
5、是否添加.gitignore檔案 .gitignore檔案裡面記錄了若幹檔案類型,凡是該檔案包含的檔案類型,git都不會将其納入到版本管理中,是否選擇看個人需要。
6、license類型 正規的倉庫都應該有一個license檔案,Pods依賴庫對這個檔案的要求更嚴,是必須要有的。是以最好在這裡讓github建立一個,也可以自己後續再建立。我使用的license類型是MIT
二、Clone 這個倉庫到本地目錄(可使用SourceTree等其它svn工具) Terminal 指令 $ git clone 倉庫位址
三、本地建立 .podspec 檔案 (spec 規範) 1、簡述 .podspec 檔案 該檔案為Pods依賴庫的描述檔案,每個Pods依賴庫必須有且僅有一個描述檔案,名稱需與建立的依賴庫名稱保持一緻。
2、.podspec 檔案相關 a 示例内容 Pod::Spec.new do |s|
s.name = "MethodFactory" s.version = "0.0.1" s.summary = "MethodFactory is a Good Factory of Method."
s.description = <<-DESC MethodFactory is a Good Factory of Method ,it has too much nice method. DESC
s.homepage = "https://github.com/yanglei3kyou/MethodFactory" # s.screenshots = "www.example.com/screenshots_1.gif", "www.example.com/screenshots_2.gif"
s.license = "MIT" # s.license = { :type => "MIT", :file => "FILE_LICENSE" }
s.author = { "yanglei3kyou" => "[email protected]" } # Or just: s.author = "yanglei3kyou" # s.authors = { "yanglei3kyou" => "[email protected]" } # s.social_media_url = "http://twitter.com/yanglei3kyou"
s.platform = :ios
s.source = { :git => "https://github.com/yanglei3kyou/MethodFactory.git", :tag => "0.0.1" }
s.source_files = "MethodFactory", "MethodFactory*"
s.public_header_files = "MethodFactory*.h"
s.vendored_libraries = 'MethodFactory/*.a'
s.frameworks = "Foundation", "UIKit"
s.requires_arc = true
end
b 參數解釋 s.license Pods依賴庫使用的license類型
s.source_files 表示源檔案的路徑,注意這個路徑是相對podspec檔案而言的。
s.frameworks 需要用到的frameworks,不需要加.frameworks字尾。
3、建立.podspec檔案 (在 Git倉庫根目錄) a 建立檔案,填寫内容(上方示例内容),根據内容進行修改 b Terminal指令 $ pod spec create MethodFactory
四、關于LICENSE檔案 CocoaPods 要求所有的Pods依賴庫都必須包含license檔案,否則在釋出CocoaPods官方時不予通過驗證。 license的類型有很多種,詳情可以參考網站https://tldrlegal.com。在建立github倉庫的時候,已經選擇了MIT類型的license。
五、關于主類檔案 建立Pods依賴庫就是為了友善别人使用我們的成果,比如我想共享給大家的MethodFactory類,提供給廣大使用者使用,這個類自然是必不可少的。我把這個類包含的兩個檔案放到一個名稱為MethodFactory的檔案夾中,對應的目錄結構如圖:
六、關于Demo工程 為了快速地教會别人使用我們的Pods依賴庫,通常需要提供一個Demo工程。我建立的Demo工程放到了一個名為MethodFactoryDemo的檔案夾中,該目錄包含的檔案如下圖所示:
七、關于README.md 使用github的人應該都熟悉這個檔案,它是一個成功github倉庫必不可少的一部分,使用的是markdown标記語言,用于對倉庫的詳細說明。 添加完上方檔案後,Github本地倉庫目錄就如下圖所示
八、将本地倉庫送出到 Github 中 1、pod 驗證 $ set the new version to 1.0.0 $ set the new tag to 1.0.0 $ pod lib lint
注意: pod 驗證過程中,出現任何warning 或者 error資訊,驗證都會失敗,請按照提示資訊,進行修改
2、上傳到 Github 中 $ git add -A && git commit -m “Release 1.0.0." $ git tag ‘1.0.0' $ git push --tags $ git push origin master
九、不釋出此Pods,直接使用Pods 如果沒有計劃在CocoaPods中釋出此Pods,可直接在項目的Podfile檔案中添加該 Pods并使用。 pod ‘MethodFactory’, :git => 'https://github.com/yanglei3kyou/MethodFactory.git'
十、上傳pod spec檔案到 CocoaPods官方倉庫中 新版CocoaPods上傳pod spec再也不需要像以往那種 - fork倉庫合并代碼了。 新版CocoaPods引入 pod trunk 來友善開發者上傳自己的pod。
官方指導文檔為 http://guides.cocoapods.org/making/getting-setup-with-trunk
我們簡化一下流程,就變成了 1.在pod trunk注冊自己的資訊
$ pod trunk register [email protected] 'Orta Therox' --description='macbook air'
2.找到自己封裝的xxx.podspec檔案,并上傳
$ pod trunk push xxx.podspec
3.送出完之後,若想檢視自己的庫,可以直接使用
$ pod search xxx