iOS 組件化實施過程

来源:https://www.cnblogs.com/reyzhang/archive/2022/09/14/16693101.html
-Advertisement-
Play Games

一、組件化的優缺點 二、組件化的拆分 三、組件與組件之間如何進行通訊(路由) 四、從Cocopods拉取代碼的過程 遠程索引庫里很多的.spec文件,該文件記錄了很多內容,如用戶名,框架名稱,描述,框架的地址 Podfile 文件是拉取框架源碼的配置文件, pod install 命令會根據Podf ...


目錄

一、組件化的優缺點

在這裡插入圖片描述

二、組件化的拆分

在這裡插入圖片描述

三、組件與組件之間如何進行通訊(路由)

在這裡插入圖片描述

四、從Cocopods拉取代碼的過程

在這裡插入圖片描述

遠程索引庫里很多的.spec文件,該文件記錄了很多內容,如用戶名,框架名稱,描述,框架的地址

Podfile 文件是拉取框架源碼的配置文件, pod install 命令會根據Podfile中配置來拉取框架源碼

Pod setup 命令會把遠程索引庫拷貝到本地,在本地還有一個檢索文件

執行pod search命令過程,並不是直接從遠程索引庫查找,它是從本地的檢索文件,該檢索文件是以鍵值對的形式存在。在本地索引庫中會找到對應的.spec文件 , .spec文件中有框架源碼的地址,直接從這個地址來下載了。

Pod repo 命令可以查看本地的索引庫列表

五、創建本地私有庫

在這裡插入圖片描述

Pod lib create 命令是創建lib庫的模板

在這裡插入圖片描述

更正:創建demo的位置,應該選擇YES

創建成功後的目錄結構如下:
在這裡插入圖片描述

接下來,我們可以把拆分的代碼放到如下這個目錄下:

在這裡插入圖片描述
放入代碼後的目錄結構如下:
在這裡插入圖片描述

Xcode中的工程並不會顯示新加入的文件,如下圖所示:
在這裡插入圖片描述

我們只需要在命令行工具中 cd 到Pods 工程所在的文件夾,執行pod install 命令即可

在這裡插入圖片描述

命令執行完成後,我們添加到目錄中的代碼文件已經被加入到工程中,此時目錄結構如下:
在這裡插入圖片描述

如果工程中的代碼依賴了別的第三方庫,我們還需要在.podspec文件中加入框架依賴

在這裡插入圖片描述

配置好.podspec 庫後,回到Example目錄, 在此目錄下執行 pod install 來安裝工程依賴的三方框架

在其他工程中使用本地私有庫時,要註意本地私有庫引入的位置
在這裡插入圖片描述

  • 六、本地私有庫上傳到遠程私有庫
  • 七、私有庫的podSpec配置
  • 八、創建遠程索引庫
  • 九、將遠程索引庫關聯到本地
  • 十、將RZTools.podSpec提交到這個索引庫

如上更多詳細內容點擊此處查閱 《iOS 組件化實施過程》

本文來自博客園,作者:reyzhang,轉載請註明原文鏈接:https://www.cnblogs.com/reyzhang/p/16693101.html


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 在實際業務中,當後臺數據發生變化,客戶端能夠實時的收到通知,而不是由用戶主動的進行頁面刷新才能查看,這將是一個非常人性化的設計 ...
  • 【Shashlik.EventBus】.NET 事件匯流排,分散式事務最終一致性 簡介 github https://github.com/dotnet-shashlik/shashlik.eventbus 各位爺高興了給個star唄。 分散式事務、CAP定理、事件匯流排,在當前微服務、分散式、集群大行 ...
  • 閱讀須知:本文為入門介紹、指引文章,所示代碼皆為最簡易(或僅為實現功能)的演示示例版本,不一定切實符合個人(企業)實際開發需求。 一、DbContext生存期 DbContext 的生存期從創建實例時開始,併在釋放實例時結束。 DbContext 實例旨在用於單個工作單元。這意味著 DbContex ...
  • 1. 文件系統:用來存儲、組織、管理文件的一套方式、協議 2. 文件 文件的屬性:i-node唯一表示一個文件的存在與否 文件的內容 3. Linux系統如何實現文件的操作? 硬體層: inode(屬性) >文件的內容 Linux內核: struct inode{}用來描述一個文件的屋裡inode的 ...
  • 前言 想必在linux上寫過程式的同學都有分析進程占用多少記憶體的經歷,或者被問到這樣的問題——你的程式在運行時占用了多少記憶體(物理記憶體)? 通常我們可以通過top命令查看進程占用了多少記憶體。這裡我們可以看到VIRT、RES和SHR三個重要的指標,他們分別代表什麼意思呢? 這是本文需要跟大家一起探討的 ...
  • 近日,騰訊雲MySQL發佈新架構,在基礎硬體能力、自研內核及外部網路延遲等方面進行了全面升級。 在探究新版本實際性能的過程中,測試人員通過基準測試工具SysBench以及全模擬業務生產環境,分別針對只寫、只讀以及混合讀寫場景進行性能測試。其結果顯示,新架構下的雲資料庫MySQL在性能上比原有架構提升 ...
  • 摘要:不要歪了,我這裡說特性它不是 bug,而是故意設計的機制或語法,你有可能天天寫語句或許還沒發現原來還能這樣用,沒關係我們一起學下漲姿勢。 本文分享自華為雲社區《【雲駐共創】天天寫 SQL,你遇到了哪些神奇的特性?》,作者: 龍哥手記 。 一 SQL 的第一個神奇特性 日常開發我們經常會對錶進行 ...
  • 介紹多版本併發控制 多版本併發控制技術(Multiversion Concurrency Control,MVCC) 技術是為瞭解決問題而生的,通過 MVCC 我們可以解決以下幾個問題: 讀寫之間阻塞的問題:通過 MVCC 可以讓讀寫互相不阻塞,即讀不阻塞寫,寫不阻塞讀,這樣就可以提升事務併發處理能 ...
一周排行
    -Advertisement-
    Play Games
  • 一:背景 1.講故事 在分析的眾多dump中,經常會遇到各種奇葩的問題,僅通過dump這種快照形式還是有很多問題搞不定,而通過 perfview 這種粒度又太粗,很難找到問題之所在,真的很頭疼,比如本篇的 短命線程 問題,參考圖如下: 我們在 t2 時刻抓取的dump對查看 短命線程 毫無幫助,我根 ...
  • 在日常後端Api開發中,我們跟前端的溝通中,通常需要協商好入參的數據類型,和參數是通過什麼方式存在於請求中的,是表單(form)、請求體(body)、地址欄參數(query)、還是說通過請求頭(header)。 當協商好後,我們的介面又需要怎麼去接收這些數據呢?很多小伙伴可能上手就是直接寫一個實體, ...
  • 許多情況下我們需要用到攝像頭獲取圖像,進而處理圖像,這篇博文介紹利用pyqt5、OpenCV實現用電腦上連接的攝像頭拍照並保存照片。為了使用和後續開發方便,這裡利用pyqt5設計了個相機界面,後面將介紹如何實現,要點包括界面設計、邏輯實現及完整代碼。 ...
  • 思路分析 註冊頁面需要對用戶提交的數據進行校驗,並且需要對用戶輸入錯誤的地方進行提示! 所有我們需要使用forms組件搭建註冊頁面! 平時我們書寫form是組件的時候是在views.py裡面書寫的, 但是為了接耦合,我們需要將forms組件都單獨寫在一個地方,需要用的時候導入就行! 例如,在項目文件 ...
  • 思路分析 登錄頁面,我們還是採用ajax的方式提交用戶數據 唯一需要學習的是如何製作圖片驗證碼! 具體的登錄頁面效果圖如下: 如何製作圖片驗證碼 推導步驟1:在img標簽的src屬性里放上驗證碼的請求路徑 補充1.img的src屬性: 1.圖片路徑 2.url 3.圖片的二進位數據 補充2:字體樣式 ...
  • 哈嘍,兄弟們! 最近有許多小伙伴都在吐槽打工好難。 每天都是執行許多重覆的任務 例如閱讀新聞、發郵件、查看天氣、打開書簽、清理文件夾等等, 使用自動化腳本,就無需手動一次又一次地完成這些任務, 非常方便啊有木有?! 而在某種程度上,Python 就是自動化的代名詞。 今天就來和大家一起學習一下, 用 ...
  • 作者:IT王小二 博客:https://itwxe.com 前面小二介紹過使用Typora+PicGo+LskyPro打造舒適寫作環境,那時候需要使用水印功能,但是小二在升級LskyPro2.x版本發現有很多不如人意的東西,遂棄用LskyPro使用MinIO結合代碼實現自己需要的圖床功能,也適合以後 ...
  • OpenAI Gym是一款用於研發和比較強化學習演算法的工具包,本文主要介紹Gym模擬環境的功能和工具包的使用方法,並詳細介紹其中的經典控制問題中的倒立擺(CartPole-v0/1)問題。最後針對倒立擺問題如何建立控制模型並採用爬山演算法優化進行了介紹,並給出了相應的完整python代碼示例和解釋。要... ...
  • python爬蟲瀏覽器偽裝 #導入urllib.request模塊 import urllib.request #設置請求頭 headers=("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, l ...
  • 前端代碼搭建 主要利用的是bootstrap3中js插件里的模態框版塊 <li><a href="" data-toggle="modal" data-target=".bs-example-modal-lg">修改密碼</a></li> <div class="modal fade bs-exam ...