ios元件化之私有元件建立以及使用

2021-08-15 19:51:29 字數 2461 閱讀 7365

直接進入主題,如有不對處,希望大家指出!

需要:cocoapods,碼雲賬號,sourcetree(可無)

開始建立乙個元件

隨意找個地方建立乙個資料夾,用來做本地倉庫,主要存放之後要封裝的元件。(我是在桌面上建立乙個資料夾,檔名為:lib)

開啟終端 :cd到步驟1中建立的資料夾lib下

$ pod lib create *** (***:代表想要封裝的元件名稱, 這個根據自己的需求而定),在輸入之後會有一些對元件工程的設定,具體如下:

what language do you want to use?? [ swift / objc ]

objc(開發語言設定,根據自己而定,這裡為objc)

which testing frameworks will you use? [ specta / kiwi / none ]

none(測試框架)

would you like to do view based testing? [ yes / no ]

no(是否要做基礎的檢視測試)

what is your class prefix?

xx (檔案字首)

建立完成過後,我們的工程會自動開啟,建立完成後,工程的目錄如下

新增功能的**一定放在classes,如下圖所示

前往碼雲建立專案,注意新增專案組成員

建立成功後配置專案的.podspec檔案,檔案位置

7. 在配置.podspec檔案時,需要修改的地方有如下幾處:

8. 經過前7步,接下來將這個元件提交到碼雲上,我這裡用的是sourcetree,當然也可用git進行提交

先說通過sourcetree,將元件直接拖拽至sourcetree平台介面上,雙擊進入遠端設定-> 遠端倉庫->新增 ( 新增之後直接提交上去即可)

通過git提交,其實在碼雲上建立專案之後就有響應的提示,由於我們本地已經有建立好的專案,在這之後,通過pod add . -> pod commit -m 「備註說明」 -> git remote add origin 碼雲元件位址 進行專案提交,直接採用如下即可如下:

9. 設定元件tag : pod tag 『版本』:比如: git tag 『0.1.0』 ,注意這裡的版本號一定要和.podspec中的version一致

10. 提交版本 : git push –tags

11. 如果沒有將公司的specs新增到本地, 先執行以下**,如果有新增可跳過 :$pod repo add 自定義乙個specs名稱 公司specs位址

12. 向公司的specs新增pod庫

pod repo push 自定義乙個specs名稱(同11) 元件名字.podspec

如果有警告,要忽略的話

pod repo push 自定義乙個specs名稱(同11) 元件名字.podspec –allow-warnings

包含私有庫

pod repo push自定義乙個specs名稱(同11) 元件名字.podspec –sources=oschina-qx2

13. specs位置:在終端輸入:pod repo,即可顯示出當前所有的倉庫位址及名稱,找到對應公司的specs,複製路徑並前往資料夾。其中存放著我們元件的版本號檔案和檔案下的.podspec檔案:

14. 每當我們要迭代喲個版本的時候,除了修改業務功能**變動,就是要修改.podspec這個檔案,只用修改版本號,重複8、9、10即可。

15. 通過以上步驟,我們已經建立好了乙個元件,現在如何引用呢,前面兩個source是私有庫**位址和其他開源庫**git官網支援:

16. 最後進行pod install ,就發現這個元件被pod下來了,可以去使用元件提供的功能了

iOS 元件化架構及建立私有專案元件

一 元件化架構的產生 二 專案元件化 專案元件化就是將專案中的各個模組按照基礎元件 功能元件 業務元件等劃分成乙個個單獨的模組,以使的各個模組間實現低耦合,可以單獨開發 測試 組合執行。三 專案元件化好處 1.業務劃分更佳清晰,新人接手更佳容易,可以按元件分配開發任務。2.專案可維護性更強,提高開發...

ios元件化開發(一)建立元件化

ios元件化開發,類似於自己寫乙個第三方庫一樣,然後被主工程呼叫。元件化開發,需要乙個索引庫,因為每個元件都有乙個 podspec 檔案,因此需要乙個庫去專門存放索引。這類似於一本新華字典有專門的目錄,通過目錄可以快速找到對應的元件和版本。首先可以在github上建立乙個遠端索引庫。然後將該索引庫新...

元件化 建立元件工程

使用cocoapods命令直接建立工程 1 命令 pod lib create yhtestone 2 終端出現多個問題,按專案需要回答 what platform do you want to use?ios macos 選擇ios,直接回車預設選擇第乙個 what language do you...