手把手教你實現組件化(一)

簡介

本篇文章主要是針對蘋果端組件化的思想講解,從零開始一步一步教你如何實現組件化,本章介紹如何建立遠程索引庫和本地索引庫。git

組件化目的

第一:讓你輕鬆調用團隊其餘成員的組件,分離依賴性比較強的模塊。
第二:下降維護成本,各人維護各人模塊,互不影響。
好比你寫了一個下拉菜單控件,你封裝後,其餘人若是想調用,通常採用的辦法是把你封裝的代碼拿過來,導入到項目中,如今採用組件化就是封裝後上傳到第三方託管處(可加密可公開),用Cocopod直接在podfile中導入文件名稱,更新,就可使用該模塊。xcode

具體實現步驟 :

1 登陸你的碼雲帳號 或者Github帳號app

https://gitee.com/login

2 建立項目以下圖:框架

clipboard.png

3 複製遠程索引庫地址HTTPS或者SSH地址 使用SSH的方式 須要在倉庫添加你的公鑰,如何添加請參考如下博客:編輯器

如何添加公鑰: http://blog.csdn.net/huang351...

4 終端進入你的項目文件ide

1 cd 你的項目主目錄絕對路徑 
    2 pod lib create XX

注意 :
1 xx 你本身封裝的組件模塊名稱
2 你的項目主目錄是指和你項目同級的目錄
示例:組件化

clipboard.png
5 打開終端,將遠程私有庫關聯到本地加密

1 cd  你的項目絕對路徑  
 2 pod repo add XXSpec 粘貼你剛纔複製的https地址

示例:
clipboard.pngspa

注意 :
1 項目絕對路徑 能夠採用拖拽的方式直接添加到終端
2 上述命令執行完後能夠進入 /用戶/XX/.cocoapods/repos 能夠發現多了一個LTSpec文件夾,這裏就是咱們用來存放組件的.podSpec文件的。.net

6 將本身封裝的模塊拷貝到建立的模板工程中

示例:
clipboard.png

7 修改組件的.podSpec文件 可用編輯器打開
示例:
clipboard.png

內容解釋
// 設置名稱
  s.name         = "Test"

  // 設置版本號
  s.version      = "0.0.1"

  // 設置摘要
  s.summary      = "A short description of HttpManager."

  // 設置詳情
  s.description  = "Good"

  // 設置倉庫主頁
  s.homepage     = ""

  // 設置許可證
  s.license      = "MIT"

  // 設置做者
  s.author             = { "iThinkerYZ" => "690423479@qq.com" }

  // 設置倉庫源,表示在哪能夠找到組件工程
  s.source       = { :git => "", :tag => "#{s.version}" }

  // 設置 源文件路徑 => 不是整個工程的文件,而是本身封裝的代碼,之後別的工程引入,就會引入這裏的代碼。
  s.source_files  = "HttpManager/Classes/**/*.{h,m}"

 // s.dependency = '' 組件工程依賴哪些第三方框架
 // s.frameworks = 'UIKit', 'MapKit' 組件工程依賴哪些原生框架
 // s.resource_bundles = {} 組件工程圖片資源

clipboard.png

注意:這裏面的 倉庫源必定有填寫正確,不然後續會提交不成功!

8 終端命令

1 cd 你的封裝模塊文件夾 
   2 git add .
   3 git tag '0.1.0'
   4 git remote add origin *SSH地址*
   5 git push -u origin master
   6 git push --tag

9 對文件進行本地驗證和遠程驗證

1 pod lib lint --private
   2 pod repo push LTSpec Test.podspec
   3 pod search Test

注意:
1 安裝兩個Xcode的會遇到錯誤提示

clipboard.png

解決方案:

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

10 將驗證經過的.podSpec文件加入到本地私有索引庫,並上傳到遠程私有索引庫
示例:
clipboard.png

參考連接 :

https://baijiahao.baidu.com/s...
https://mp.weixin.qq.com/s/wE...

歡迎吐槽: 804774355@qq.com

相關文章
相關標籤/搜索