手把手教你用CocoaPods發(fā)布自己的開源庫(kù)

前言

文本將從零開始介紹如何使用cocoaPods發(fā)布自己的開源庫(kù)

第一步:注冊(cè)Trunk

  1. 查看當(dāng)前pod版本

    pod --version
    
  2. 如果未安裝pod,需下載安裝

    sudo gen install cocoapods      
    pod setup
    
  3. 查看自己是否注冊(cè)過(guò) Trunk

    pod trunk me
    

    如果輸出您的郵箱信息等,說(shuō)明您已經(jīng)注冊(cè)過(guò)了,無(wú)需重新注冊(cè)

  4. 注冊(cè)

    pod trunk register 您的郵箱地址@163.com "用戶名" --verbose
    

    您的郵箱地址@163.com - 這里輸入您的郵箱地址
    用戶名 - 這里輸入您的用戶名

    注冊(cè)完成后,會(huì)給您的郵箱發(fā)送一封郵件,您需要進(jìn)入郵箱,打開郵件中的鏈接,完成驗(yàn)證即可

  5. 驗(yàn)證是否注冊(cè)成功

    pod trunk me
    

    觀察是否會(huì)輸出用戶信息,注冊(cè)如果成功會(huì)打印出您的郵箱和用戶名

第二步:創(chuàng)建項(xiàng)目

  1. github上創(chuàng)建一個(gè)新項(xiàng)目

    1. 進(jìn)入您的git賬號(hào),點(diǎn)擊+, 選擇 New Repository, 新建項(xiàng)目
    2. 輸入項(xiàng)目名稱(注意:這里的項(xiàng)目名是你要發(fā)布庫(kù)的名字如 ChXAnimation 而不是你的工程名如ChXAnimationDemo)、填寫描述,選擇初始化一個(gè) README 文件,選擇 MIT 的授權(quán)文件
  2. Clone 到本地(使用 git 命令)

打開終端,cd 到您想存放項(xiàng)目的地方,如文檔文件夾

cd ~/文檔

github 上復(fù)制剛創(chuàng)建項(xiàng)目的鏈接地址,例如: https://github.com/sunrisechen007/ChXCategorys.git

clone

git clone https://github.com/sunrisechen007/ChXCategorys.git
  1. 添加要發(fā)布的庫(kù)內(nèi)容,如需要發(fā)布 ChXCategory 這個(gè)文件夾里的文件,直接把該文件夾拖入當(dāng)前項(xiàng)目根目錄中

第三步:配置信息

  1. 創(chuàng)建 .podspec文件,用以配置pod發(fā)布庫(kù)的信息

    cd 到剛 cloen 的項(xiàng)目中 ,輸入命令

    pod spec create ChXCategorys 
    

    上面ChXCategorys 是您要發(fā)布框架的名字,和 git 上項(xiàng)目的名稱(https://github.com/sunrisechen007/ChXCategorys.git)保持一致

    注意這里的 podspec 文件名ChXCategorys 和您要發(fā)布庫(kù)存放的文件夾 ChXCategory 是可以一樣的

  1. 編輯 .podspec文件

    使用文本編輯工具打開剛建的 podspec文件,刪除里面的默認(rèn)代碼,按照下面格式輸入代碼

     Pod::Spec.new do |s|
     s.name         = "ChXCategorys"
     s.version      = "0.0.1"
     s.ios.deployment_target = '8.0'
     s.summary      = “簡(jiǎn)介"
     s.homepage     = "https://github.com/zhangyqyx/ChXCategorys"
     s.social_media_url = 'https://www.baidu.com'
     s.license      = "MIT"
     s.author       = { "xuchen" => "xxx@163.com" }
     s.source       = { :git => 'https://github.com/zhangyqyx/ChXCategorys.git', :tag =>    s.version}
     s.requires_arc = true
     s.source_files = ‘ChXCategory/*'
     #依賴庫(kù),不能依賴未發(fā)布的庫(kù)
     #s.dependency = 'AFNetworking' , 'SDWebImage'
    end
    

    下面是這些參數(shù)的意思,也很好理解,根據(jù)實(shí)際相應(yīng)修改即可
    s.name -> 項(xiàng)目名 ,即使你要發(fā)布庫(kù)的名字
    version -> tag 版本號(hào)(每次發(fā)布都需要修改
    ...
    s.source_files -> 這個(gè)是指定您要發(fā)布庫(kù)的文件夾位置的,我這里是把文件都放在了 ChXCategory里了,后面的 /* 表示該文件夾里的所有文件,當(dāng)然您也可以寫成 *.{h,m}表示里面的所有 .h 和 .m 文件

    如果 ChXCategory 里又嵌套了一個(gè)文件夾,您可以使用代碼 ‘ChXCategory/*','ChXCategory/*/*'
    目錄圖參考如下:

    mulu.png

第四步:發(fā)布

  1. 上傳到 github(使用 Git 命令行)

    將修改后的本地項(xiàng)目文件,提交到線上

    1. git add .  
     
    2. git commit -m "提交說(shuō)明文字"
     
    3. git push origin master
    

    add 是將代碼從工作區(qū)提交到暫存區(qū), . 表示提交所有文件
    commit 是將代碼從暫存區(qū)提交到版本庫(kù), -m后面需要填寫更新日志
    push 是推送到遠(yuǎn)程主分支,您也可以推送到其它相應(yīng)分支

  1. tag
    每次發(fā)布都得重新設(shè)置 tag

    1. git tag 1.0.0  
       
    2. git push --tags
    
    3. git push origin master
    

    可以使用 git tag查看當(dāng)前存在的tag
    每次打完 tag 之后,記得要推送(push)到遠(yuǎn)程分支

  1. 驗(yàn)證 .podspec文件內(nèi)容是否正確

    pod spec lint ChXCategorys.podspec --verbose  
    
    

    ChXCategorys.podspec 這就是您項(xiàng)目中新建的 podspec 文件,需替換成您的

注意:
如果驗(yàn)證出現(xiàn)錯(cuò)誤,修改完成后,需要把修改完成后的項(xiàng)目重新提交到 git 上,打 tag ,每次驗(yàn)證都需要修改下版本號(hào) ;tag 要加 1 ,podspec文件里的 s.version 也加 1

  1. 可以發(fā)布啦

    當(dāng)驗(yàn)證完成無(wú)報(bào)錯(cuò)時(shí),下面我們就可以發(fā)布我們的庫(kù)了

    pod trunk push ChXCategorys.podspec
    

    耐心等待一會(huì)兒,結(jié)果出現(xiàn)有 Congrats 時(shí),說(shuō)明您的庫(kù)已經(jīng)發(fā)布成功啦。

  2. 驗(yàn)證

    pod search ChXCategorys
    

    輸入以上命令,如果可以搜索到的話,那么恭喜.
    如果搜索不到,出現(xiàn)如下錯(cuò)誤提示

    [!] Unable to find a pod with name, author, summary, or description matching `xxx`
    

    而你確認(rèn)已經(jīng)發(fā)布成功的話,那么你可以

    1. 前往 資源庫(kù) 去刪除 cocoapod 緩存中的 search_index.json 文件,重新搜索一次再試試,有點(diǎn)慢,需要等待一會(huì)兒
    2. json文件路徑: /Users/xx/Library/Caches/CocoaPods (xx是你的電腦賬戶名)

使用

進(jìn)入到項(xiàng)目中,在 podfile 文件中添加 pod ChXCategorys (ChXCategorys您的庫(kù)名),然后執(zhí)行 pod install 就可以下載到您的庫(kù)了

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容