發布開源框架到 cocoaPods

CocoaPods

  • CocoaPods是一個用來幫助我們管理第三方依賴庫的工具,用它可以解決庫與庫的依賴,下載庫的源代碼,同時通過創建一個 Xcode 的 workspace 來將這些三方庫和我們的工程連接起來,供我們開發使用。使用 CocoaPods 的目的是讓我們能自動化的、集中的、直觀的管理第三方開源庫。

參考博客http://www.lxweimin.com/p/489520b69d8b,有用,但是不完全正確. 按照上面的步驟,和大部分網絡上看到的一樣,最后執行的時候不行, 根據一些報錯來查找原因,最后終于解決了這個問題,下面是博主剛剛創建的庫:

SAlert

在看這個功能之前,確定你會上傳自己的項目代碼到github,不會的可以看一遍文章,非常的詳細[http://blog.csdn.net/codingfire/article/details/50387183 ] 下來來介紹一下如何吧自己的庫制作成可以通過pod導入的庫。

  1. 用戶名郵箱注冊,為github的用戶名和綁定郵箱:

pod trunk register 你的郵箱 ‘用戶名’ –verbose

如果報錯,一般是pod版本低或者ruby的版本低,這里不再說明解決辦法,自行百度。
注冊之后你會搜到一封郵件,點擊鏈接激活即可。
2.查看是否注冊成功

pod trunk me

查看是否注冊成功.png

這樣的就代表已經注冊成功。

  1. 創建 .podspec 文件

1).$ cd 到當前文件目錄下

2). $ pod spec create 你的podsepc文件名

之后文件里就會出現一個 xx.podspec 文件,通過 Xcode 或者 Sublime 來打開編輯,如下:


podspec描述文件.png

由于只是演練,因為這里沒有第三方庫和系統庫的引用,博主就把一些沒用的刪除掉了,留下一些基本的。

  1. 設置 tag 版本號,然后推送到git

$ git tag 0.0.1 // tag 和上面你設定的一樣 一般tag號和版本號一致
$ git push –tags
$ git push origin master
$ git status //查看文件狀態 如果有紅色的,說明未添加或修改了未見,需要執行
$ git add .
$git commit -m “說明”
這時候可以再次 git status 查看文件狀態

之后查看GitHub


00F02CC2-F6CF-4538-85E8-11AFBAC73824.png

這里會多一個 版本記錄了。

  1. 驗證編輯是否通過

$ pod lib lint SunImageTouchEvents.podspec –allow-warnings

通過之后你可以看到這個 xxxxxx passed validation

08281916-3B69-4928-B29B-733746292C2F.png
說明我們的這個配置文件是沒問題的。
在驗證通過后我們需要將代碼提交到cocoapods

$ pod trunk push 你的podspec名字.podspec –allow-warnings

如果代碼編譯不通過 也會報錯,所以記得檢查代碼。
通過pod search “項目名”去搜索你的第三方庫吧。

最后
將我們的gitHub倉庫代碼配置CocoPods支持的時候

如報錯如下:
[!] You need to register a session first.
解決方案命令如下:
pod trunk register 電子郵箱 ‘您的姓名’ –description=’macbook pro’
相信我們第一步做好之后 不會出現這樣的報錯的。

當你看到這里,大功告成。


9D956C6D-172E-478E-807D-F443783C7D96.png

趕緊 $ pod search 試一試吧。

可能需要等一段時間,這里說不準 然后就可以 查詢 和 pod install 了 ,當你還是搜索不到的時候, 清除本地搜索庫的索引緩存就行了。

~/Library/Caches/CocoaPods/search_index.json

前往文件夾,刪除之后再pod search XXX,就會重新生成search_index.json文件,這里重新生成json文件可能需要七八分鐘的樣子,然后就可以搜索的你自己的框架了。

總結:要把自己的庫制作成通過pods導入還是有一定難度的,網上很多方法看著跟博主這里差不多,其實命令都一樣,但是卻有明顯的不同,那就是細節部分,代碼有報錯,目錄結構等等,稍有不慎就可能通不過編輯,就說這么多,如果遇到問題,歡迎討論。

參考文章
http://blog.csdn.net/codingfire/article/details/52470802

http://www.lxweimin.com/p/8aa75fdc5096

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容