前言:制作一個有相互依賴關系的本地庫,之前寫的私有庫和公開pod庫的制作步驟都沒有寫如果有依賴關系應該如何處理。
期待:制作一個組件庫1(
XXLogin
),但是組件庫1(XXLogin
)依賴一個公開庫2(XXAlertTransition
)和一個本地庫3(XXNetworking
), 本地庫3(XXNetworking
)又依賴一個網絡庫4(AFNetworking
)
一、 首先創建一個新工程,然后創建了一個Lib
文件夾來管理所有的development pod
。
image.png
二、 創建本地庫XXNetworking
。(因為期望中XXLogin
要依賴這個庫,所以先制作好這個)
-
cd
到Lib
文件夾下pod lib create XXNetworking
image.png - 刪除
Classes
文件下的ReplaceMe
文件,添加自己的類。
image.png - 修改
XXNetworking.podspec
,按照本文開頭期望那樣,依賴AFNetworking
。XXNetworking
對AFNetworking
進行二次封裝,其實這里沒有真正的寫封裝代碼,只是為了制作本地庫弄的demo
。
image.png
三、創建本地庫XXLogin
-
cd
到Lib
文件夾下pod lib create XXLogin
,過程和上面一樣,省略。 - 刪除
Classes
文件下的ReplaceMe
文件,添加自己的類。
image.png - 修改
XXLogin.podspec
image.png
四、 使用
-
cd
到 最開始創建的XXDevelopmentPod
工程目錄下,創建Pofile
文件。
image.png -
pod install
image.png -
看下工程目錄到變化。
image.png
五、 總結
- 注意??:
- 本來只想引入
XXLogin
這個庫,但是這個庫依賴了另一個本地庫XXNetworking
,所以在Podfile
文件中,需要指定出XXNetworking
的path
,否則會報錯,如下圖
image.png
image.png
- 而依賴的其他公開網絡庫則不用在
Podfile
文件中指定,會自動pod
下來依賴的庫。
- 本地庫和私有庫公開庫區別
- 不用分開制作一個git倉庫
- 不用和遠程關聯,改庫版本、打tag...
- 本地修改即時生效不用發布
其他系列: