手把手教你用CocoaPods發布自己的開源庫

前言

文本將從零開始介紹如何使用cocoaPods發布自己的開源庫

第一步:注冊Trunk

  1. 查看當前pod版本

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

    sudo gen install cocoapods      
    pod setup
    
  3. 查看自己是否注冊過 Trunk

    pod trunk me
    

    如果輸出您的郵箱信息等,說明您已經注冊過了,無需重新注冊

  4. 注冊

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

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

    注冊完成后,會給您的郵箱發送一封郵件,您需要進入郵箱,打開郵件中的鏈接,完成驗證即可

  5. 驗證是否注冊成功

    pod trunk me
    

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

第二步:創建項目

  1. github上創建一個新項目

    1. 進入您的git賬號,點擊+, 選擇 New Repository, 新建項目
    2. 輸入項目名稱(注意:這里的項目名是你要發布庫的名字如 ChXAnimation 而不是你的工程名如ChXAnimationDemo)、填寫描述,選擇初始化一個 README 文件,選擇 MIT 的授權文件
  2. Clone 到本地(使用 git 命令)

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

cd ~/文檔

github 上復制剛創建項目的鏈接地址,例如: https://github.com/sunrisechen007/ChXCategorys.git

clone

git clone https://github.com/sunrisechen007/ChXCategorys.git
  1. 添加要發布的庫內容,如需要發布 ChXCategory 這個文件夾里的文件,直接把該文件夾拖入當前項目根目錄中

第三步:配置信息

  1. 創建 .podspec文件,用以配置pod發布庫的信息

    cd 到剛 cloen 的項目中 ,輸入命令

    pod spec create ChXCategorys 
    

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

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

  1. 編輯 .podspec文件

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

     Pod::Spec.new do |s|
     s.name         = "ChXCategorys"
     s.version      = "0.0.1"
     s.ios.deployment_target = '8.0'
     s.summary      = “簡介"
     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/*'
     #依賴庫,不能依賴未發布的庫
     #s.dependency = 'AFNetworking' , 'SDWebImage'
    end
    

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

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

    mulu.png

第四步:發布

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

    將修改后的本地項目文件,提交到線上

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

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

  1. tag
    每次發布都得重新設置 tag

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

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

  1. 驗證 .podspec文件內容是否正確

    pod spec lint ChXCategorys.podspec --verbose  
    
    

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

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

  1. 可以發布啦

    當驗證完成無報錯時,下面我們就可以發布我們的庫了

    pod trunk push ChXCategorys.podspec
    

    耐心等待一會兒,結果出現有 Congrats 時,說明您的庫已經發布成功啦。

  2. 驗證

    pod search ChXCategorys
    

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

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

    而你確認已經發布成功的話,那么你可以

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

使用

進入到項目中,在 podfile 文件中添加 pod ChXCategorys (ChXCategorys您的庫名),然后執行 pod install 就可以下載到您的庫了

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,923評論 6 535
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,740評論 3 420
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,856評論 0 380
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,175評論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,931評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,321評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,383評論 3 443
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,533評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,082評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,891評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,067評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,618評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,319評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,732評論 0 27
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,987評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,794評論 3 394
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,076評論 2 375