前言
如果你看了我之前寫的文章《CocoaPods
私有庫的搭建》,而且有過實戰,你會發現《CocoaPods
開源庫的搭建》簡單了很多。
文章目錄
一、寫好代碼,上傳到github
;
二、將自己的項目打tag
;
三、注冊CocoaPods
;
四、創建.podspec
;
五、編輯.podspec
;
六、驗證.podspec
;
七、發布;
八、測試自己CocoaPods
;
九、開源庫的使用;
具體步驟
一、寫好代碼,上傳到github
;
github
上創建項目倉庫的時候記得創建LICENSE
(許可證/授權)文件,此文件必須要有。
二、將自己的項目打tag;
因為CocoaPods
是依賴tag
版本的,所以必須打tag
,終端命令如下:
git tag 1.0.0
git push --tags
注:以后再次更新自己的開源庫時,只需要把你的項目打一個tag
,然后修改.podspec
文件中的版本接著提交到CocoaPods
官方就可以了,提交命令如上。
三、注冊CocoaPods
;
查看自己有沒有注冊過CocoaPods
,終端命令如下:
pod trunk me
如果你已經注冊過,結果如下圖:
若未注冊,執行以下命令注冊:
// 注:郵箱和用戶名隨意
pod trunk register 郵箱 用戶名
或
// 加上--verbose可以輸出詳細的錯誤信息,方便出錯時查看
pod trunk register 郵箱 用戶名 --verbose
終端命令示例如下:
pod trunk register 821385843@qq.com 'Wade' --verbose
注冊完成之后會給你的郵箱發個郵件,進入郵箱郵件里面有個鏈接,需要點擊確認一下。注冊完成后使用pod trunk me
檢驗注冊是否成功。
四、創建.podspec
;
cd
到本地項目目錄,執行終端命令,創建.podspec
文件,終端命令:
pod spec create XWCountDownButton_OC
五、編輯.podspec
;
創建好后,打開.podspec,
前面有#的為注釋,也可以用以下代碼替換,然后編輯自己的庫信息。
s.name:
名稱,pod search
搜索的關鍵詞,注意這里一定要和.podspec
的名稱一樣,否則報錯s.version:
版本號,to_s
:返回一個字符串s.author:
作者s.homepage:
項目主頁地址s.summary:
項目簡介s.source:
項目源碼所在地址s.license:
許可證s.platform:
項目支持平臺s.requires_arc:
是否支持ARC
s.source_files:
需要包含的源文件s.public_header_files:
需要包含的頭文件s.ios.deployment_target:
支持的pod
最低版本
其他一些非必要字段
s.social_media_url:
社交網址s.resources:
資源文件s.dependency:
依賴庫,不能依賴未發布的庫-
s.vendored_frameworks = 'XXX/x.framework', 'XXX/y.framework'
注:這是當前組件依賴的三方framework
,示意圖如下:
s.license= { :type => "MIT", :file => "LICENSE" }
注:這里建議這樣寫,如果寫別的會報警告,導致后面一直提交失敗。
source_files
寫法及含義
"XXX/*"
"XXX/XXX/*.{h,m}"
"XXX/**/*.h"
* :
表示匹配所有文件
*.{h,m} :
表示匹配所有以.h
和.m
結尾的文件
** :
表示匹配所有子目錄
s.source
常見寫法
s.source = { :git => "https://github.com/821385843/XWCountDownButtonDemo.git", :tag => "68defea" }
s.source = { :git => "https://github.com/821385843/XWCountDownButtonDemo.git", :tag => 1.0.0 }
s.source = { :git => "https://github.com/821385843/XWCountDownButtonDemo.git", :tag => "#{s.version}" }
-
commit => "68defea" :
表示將這個Pod
版本與Git
倉庫中某個commit
綁定 -
tag => 1.0.0 :
表示將這個Pod
版本與Git
倉庫中某個版本的comit
綁定 -
tag => s.version :
表示將這個Pod
版本與Git
倉庫中相同版本的comit
綁定
六、驗證.podspec
;
到此檢查一下工程中有以下文件:
項目文件
LICENSE
.podspec
文件
測試本地.podspec
文件是否存在語法錯誤,終端命令如下:
pod spec lint XWCountDownButton_OC.podspec
或
pod spec lint XWCountDownButton_OC.podspec --verbose
注:如果有警告驗證會通不過,需要使用命令忽略警告即可,終端命令如下:
pod spec lint XWCountDownButton_OC.podspec --allow-warnings
七、發布;
發布的終端命令如下:
pod trunk push XWCountDownButton_OC.podspec
注:如果有警告發布會通不過,需要使用命令忽略警告即可,終端命令如下:
pod trunk push XWCountDownButton_OC.podspec --allow-warnings
發布成功后會有以下提示:
八、測試自己CocoaPods;
使用pod search
搜索的話會提示搜索不到,可以執行以下命令更新本地search_index.json
文件,終端命令如下:
rm ~/Library/Caches/CocoaPods/search_index.json
然后
pod search XWCountDownButton_OC
搜索結果如下圖:
九、開源庫的使用;
新建測試項目(項目名稱為TestPod
),在項目TestPod
目錄下新建Podfile
文件,編輯Podfile
文件如下,使用pod install
安裝之后即可使用作者開源的框架XWCountDownButton_OC
了。
更多文章
CocoaPods開源庫的搭建
CocoaPods搭建私有庫
CocoaPods搭建私有庫遇到問題
CocoaPods私有庫的升級維護
SKStoreReviewController之程序內評價
App應用程序圖標的動態更換
開源框架 MGJRouter_Swift
iOS的MVP設計模式
iOS插件化
iOS FMDB的使用
Swift之ReactiveSwift
OC之ReactiveCocoa
OC之ReactiveCocoa進階
iOS 性能考慮