CocoaPods 開源庫實現步驟

1、在本地快速創建開源庫項目TestKit
通過pod lib create TestKit命令快速創建開源庫工程,按照提示選擇對應選項即可,對于選項的區別可參考 cocoapods 官網描述

快速創建TestKit工程-整體結構
TestKit 以后被導入被人工程的文件夾層級信息
TestKit-用于測試庫的樣例工程層級結構
看看測試工程Example 對外層的 TestKit文件夾內的文件是如何引用的,通過打開 Example 內的Podfile 文件即可知道:
podfile 內通過 path 關鍵字內容跳出到上層文件夾找到了 TestKit.podspec文件,然后根據 TestKit.spec文件內的 s.source 描述進一步引入庫文件

2、看看自動生成的 TestKit.podspec 內容描述都有些神馬。podspec 描述內容

podspec 文件描述

3、往 TestKit 內添加已開發的內容文件
分別往不同層級內添加文件,這樣是為了后續的 s.source 描述做多樣說明處理

4、到 Example 工程內測試自己添加的文件是否可使用

  • cd 到Example文件夾
  • 執行pod update --no-repo-update命令將剛剛在TestKit 內添加的文件通過cocoapods 引入到測試工程 Example 內
  • 導入文件,編譯,通過即成功測試庫文件


    已導入 TestKit 的 Example 過程
    編譯通過

5、將修改測試完成的 TestKit 庫關聯至 github 遠程倉庫中(參考Session1:git 使用回顧通過命令進行關聯,或者使用 github 客戶端直接 push 本地庫到 github 上。此處使用客戶端操作)

  • cd 到 TestKit 庫
  • git add .
  • git commit -m 'init TestKit'
  • 使用 github 客戶端 push 庫到遠程


    git add .

    git commit -m 'init TestKit'

    使用 github 客戶端添加本地庫

    發布到自己的 github 倉庫中

    上傳后1

    上傳后2,podspec 的描述

6、修改 podspec 文件內容


修改后 podspec

7、打上標簽 git tag -a '0.1.0' -m '初始版本' 并同步到遠程git push --tags`,此處打的 tag 需要與之后填寫的 podspec 文件內的 version 一致。

打 tag 并提交到遠程

遠程 tag

8、驗證 spec 是否有效


podspec 要求
驗證 spec 是否有效

9、注冊 trunk trunk介紹
pod trunk register 312846421@qq.com 'Jacob' --verbose

注冊trunk

郵件內容

成功后

pod trunk me 查看當前會話

10、通過trunk推送podspec文件(這種方式其實就是上傳這個描述文件到cocoapods在github上的倉庫中,你也可以按照正常的操作, 先fork , 然后提交 pull request)
pod trunk push TestKit.podspec
遺憾我的 TestKit名稱 已經被占用了,所以建議朋友們公開自己庫前關于命名問題需要 pod search 一下,看看是否有同名的,避免像我一樣尷尬

占用
果真在 pod search 上搜到該庫

雖然操作沒有成功,但我也不想上傳一個沒用的庫到 cocoapods spec 庫中,所以沒有自己操作的實際成功例子,下面是參考 XMG 的成功例子圖,讓大家有個印象。

11、等待審核的結果(跟pull request一樣, 需要作者同意)
等待審核

12、使用pod search測試一下是否上傳成功
使用pod search 命令搜索自己的框架, 如果可以搜索到, 那么代表審核通過了, 如果沒有的search 到的話可以將/Users/yourComputerName/Library/Caches/CocoaPods/search_index.json (rm ~/Library/Caches/CocoaPods/search_index.json文件刪除,重新pod search 任意框架 即可重新下載更新 search_index.json文件。

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

推薦閱讀更多精彩內容