做爲一個iOS開發者常常使用別人的框架,很羨慕那些大神,今後我也要開始寫框架裝逼一波了。既然提及第三方,就免不了提起第三方管理框架cocoapods若是你尚未用過就去點這兒去面壁吧ios
我也剛開始寫開元框架發佈到cocoapods 大神請留情git
我這裏作了一個小demo 僅供參考github
1上傳源代碼到github倉庫再克隆到本地, 若是項目原本就在gitub上,直接clone就能夠了json
2.建立項目的podspec文件服務器
用終端命令cd到本地項目目錄並執行以下命令:app
$pod spec create QKGroupListExample 這時候本地生成一個QKGroupListExample.podspec文件框架
用編輯器打開.podspec文件(我本身用Sublime Text)編輯器
Pod::Spec.new do |s|ide
s.name = 「QKGroupListExample」 //項目名稱ui
s.version = 「1.0.0」 //項目的版本號
s.summary =「all kinds of categories for iso develop」 //這是一個iOS開發的項目
s.description = <<-DESC //對項目的描述
this project provide all kinds of categories for ios develop
DESC
s.homepage = 「https://github.com/dqksoftware/QKGroupListExample」 //項目的主頁地址
s.license = {:type =>」MIT」, :file => 「LICENSE」} //基本上開源的項目的license的類型都是MIT
s.author = {「dqk」=>」dqksoftware@163.com」}
s.platform = :ios
s.source = {:git => 「https://github.com/dqksoftware/QKGroupListExample.git」, :tag => 「1.0.0」}
s.souce_files = {「Clases/*{h.m}」} //公共資源文件也就是pod 下來的文件 *.{h,m}是通配符意思是全部在該目錄下以.h .m結尾的文件 該目錄地址是相對於QKGroupListExample.podspec文件的
s.requires_arc = true //該項目是arc模式
end
->QKGroupListExamole (1.0.0)
QKGroupListExamole passed validation
則說明 驗證經過,不然,根據提示修改podspec文件再次驗證,直到驗證經過附帶說一下,Xcode容許警告存在,因此能夠經過命令屏蔽警告 $ pod lib lint - - allow-warnings
若是出現Error可是提示信息不足,能夠添加—verbose 以獲取更多的錯誤信息
$ pod lib lint —verbose
4 打印tag上傳podspec
podspec 文件中須要指定的tag,完成上述操做後給項目打上tag
$ git tag -m」first release ios_Category with podspec」 「1.0.0」
$git push - -tags
最後使用pod trunk 命令,把podspec文件推送到cocoapod官網庫
5 註冊pod trunk
在終端輸入如下命令 參數 郵箱地址, 用戶名, 郵箱地址用github 上的最好
$ pod trunk register dqksoftware@163.com ‘dqk’ —verbose
向服務器查詢本身註冊的信息 $ pod trunk me
輸出以下信息就表示註冊成功:
-Name:dqk - Email: dqksoftware@163.com - Since: July17th,06:26- Pods: - QConnectionDownloader - QFormData - QHashString - QSessionDownloader - QWebImage - Sessions: - July17th,06:26- November23rd,01:33.IP:43.225.238
6 經過trunk推送podspec文件
$ pod trunk push QKGroupListExample.podspec 這個工程可能會比較耗時
7.最後一切順利
在終端輸入
pod search iOS_Category 來搜索你的項目吧
若是搜素出現錯誤時:
Unable to find a pod with name, author, summary, or description matching `QKGroupListExample`
在終端中輸入 :rm ~/Library/Caches/CocoaPods/search_index.json
而後在進行搜素
如圖: