手把手教你創建私有podspec


本文來自 網易雲社區 。

 

CocoaPods是iOS非常好用的類庫管理工具,可以非常方便的管理和更新項目中使用到的第三方庫,以及將自己項目中的公共組件交由它管理。

工作中比較常用到的是通過CocoaPods使用第三方庫,那么,如果將自己的公共組件創建成podspec供其他人使用?踩過各種坑之后,下面整理了如何創建私有的podspec並在項目中部署使用的方法。

 

一、創建私有podspec

1、創建私有Spec Repc

Spec Repo是Pods的一個索引,是一個容器,實際是一個Git倉庫,remote端在Git上,當使用CocoaPods后它會被clone到本地的~/.cocoapods/repos目錄下。創建一個私有的Spec Repo后可以將自己的Pods添加進來。

 

先在Git上創建私有的Spec Repo地址,例:https://g.hz.netease.com/hztuyuling/DemoSpecs.git

然后通過命令行創建私有Spec Repo,如下圖

 

創建成功后進入到~/.cocoapods/repos目錄下就可以看到DemoSpecs這個目錄。

2、創建Pod項目工程文件

2.1)cd到要創建項目的目錄執行pod lib create 項目名

如下圖為創建項目的過程。

 

2.2)向工程文件夾中添加庫文件和資源並配置podspec文件。

2.3)添加好文件,工程無錯后可以將項目推送到遠端倉庫。同樣先創建一個遠端Git項目地址:https://g.hz.netease.com/hztuyuling/NEMonkeyTT.git

然后將項目push到遠端並打上tag,如下圖。

 

 

 

2.4)編輯podspec文件。如下是我這邊用到的字段並做了注釋,官方文檔有更詳細的介紹,如果有需要用到其他字段,可以直接查閱:http://guides.cocoapods.org/syntax/podspec.html

2.5)編輯完后需要驗證podspec文件是否可用。驗證需要執行命令 pod lib lint 如下圖驗證通過。

 

3、本地測試podspec文件

此時由於podspec文件還沒有push要遠端,通過指定本地路徑的方式進行測試,在測試項目中podfile文件中,可以通過如下兩種方式來本地引進pod庫。

 

4、向Spec Repo提交podspec

本地測試podspec文件無誤后,最后一步是將podspec文件提交到私有Spec Repo中。

 

二、使用私有podspec

私有podspec創建好后,可以在項目中通過pod 庫名的方式直接使用。

 

以下幾點需要注意:

1、由於是私有的podspec,使用時需要確認已經添加了對應Git倉庫的權限。

2、同樣由於私有podspec的關系,在項目中pod時會出現找不到對應pod的情況,需要在podfile文件最前面先用source指明依賴庫的地址。

3、如果是老項目中新增pod庫,為了不影響已有的pod庫,在podfile中添加新的pod命令后需要使用pod install進行安裝。

*下面講一下pod install 與 pod update 的區別

pod install:第一次在工程里面使用pod的時候使用,每次添加、移除pod的時候使用。pod install在下載、安裝新的庫的同時會把安裝的庫的版本都寫在podfile.lock文件。pod install會下載安裝pods里面但不在podfile.lock文件里的那些庫之間的依賴。對於podfile.lock里列出的庫,會下載podfile.lock里明確的版本,不會去檢查該庫是否有新的版本。對於還不在Podfile.lock里面的庫,會找到Podfile里面描述對應版本(例如:pod "NEMonkeyTT", "~>0.0.1")。
pod update:會更新到這個庫的新版本,而不需要考慮Podfile.lock里面的限制,它會更新到這個庫盡可能的新版本,只要符合Podfile里面的版本限制。如果運行pod update,后面沒有跟庫的名字,CocoaPods就會更新每一個Podfile里面的庫到盡可能的最新版本。

重點:使用pod update PODNAME去只更新某個特定的庫(檢查是否有新版本,並盡可能更新到新的版本)。而當在Podfile里面添加了一個庫的時候,應該使用pod install,而不是pod update,這樣既安裝了這個庫,也不需要去更新其它的已安裝庫。

三、更新私有podspec

當pod工程有更新后,將工程pod到遠端Git倉庫並打上新的tag。編輯podspec文件,更新s.version為新的tag版本號。本地驗證podspec文件無誤后,將podspec文件push到遠端即可。更新成功后可以在~/.cocoapods/repos/NEMonkeyTT/目錄下看到兩個版本號。

 

 

通過pod search NEMonkeyTT查詢也可以搜索到兩個版本號。

 

至此,私有podspec更新發布好了,可以在使用時通過指定不同的版本號安裝對應的podspec版本。

 

本文已由作者塗玉玲授權網易雲社區發布。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM