一、背景
??隨著項目業(yè)務(wù)的不斷迭代和新增泻蚊,每個業(yè)務(wù)線負責(zé)不同的功能模塊躲舌,組件化勢必是需要進行的工作。業(yè)界內(nèi)性雄,無論是哪種組件化方案孽糖,目的是一樣的,分離業(yè)務(wù)和功能毅贮。
??組件化雖好,但是組件化只是將不同的業(yè)務(wù)分離或者不同的功能分離和分層尘奏,實際上還是在一個代碼池里每次 build 需要進行編譯滩褥、匯編、鏈接等過程炫加。每次編譯的占用的時間還是挺奢侈的瑰煎,在編譯速度上并沒有提升。pod install 來回切換二進制和源碼也更是一件可行不可取的開發(fā)模式俗孝。
??cocoapods-ybin 解決二進制和源碼之間的映射問題酒甸,無需來回切換源碼,實現(xiàn)二進制斷點可進入源碼進行調(diào)試赋铝。實現(xiàn)原理是簡單的插勤,但區(qū)別于 Android 里的 aar 或 jar 內(nèi)的 Class 文件。
cocoapods-ybin 滿足以下幾個訴求考慮實現(xiàn):
- 小而好用革骨、低成本接入
- 與二進制庫的制作和存儲無關(guān)农尖,只需二進制庫和源碼存儲位置即可映射
- 同時支持多項目并行開發(fā)
- 只存儲一份源碼
- 無需頻繁的 clone 代碼
二、先睹為快
cocoapods-ybin-demo 示例效果視頻良哲,示例代碼地址
https://img.58cdn.com.cn/dist/rn/course/ybin_demo_small.mp4
三盛卡、安裝
3.1 直接安裝
$ sudo gem install cocoapods-ybin
3.2 使用 Gemfile 管理 pod 版本
添加 cocoapods-ybin 到 Gemfile 文件
gem 'cocoapods-ybin'
3.3 安裝校驗
執(zhí)行命令 pod --help 查看當(dāng)前 pod 版本 ybin 是否安裝成功。
$ pod --help
四筑凫、使用教程
打開示例項目 ocoapods-ybin-demo 示例代碼 的 Podfile 目錄滑沧。示例項目使用了 Bundler 對 pod 的版本進行了控制,實際項目根據(jù)所需選擇是否采用巍实,與本插件無關(guān)聯(lián)滓技,請酌情選擇。
4.1 執(zhí)行二進制和源碼映射指令
$ pod ybin link 二進制庫名稱
4.2 查看已映射列表
$ pod ybin link --list
4.3 刪除某個或多個源碼映射
$ pod ybin link --remove 二進制庫名稱1 二進制庫名稱2
4.4 刪除所有源碼映射
$ pod ybin link --remove-all
4.5 查詢項目使用 Pod 管理的版本
查詢項目通過Pod管理的組件庫版本號蔫浆,一般都是 cat Podfile.lock 文件殖属,目視解析版本及依賴版本。閱讀起來非常不友好瓦盛,使用插件 --lib-version 擴展即可快速查看 Pod 管理的版本洗显。
$ pod ybin link --lib-version
五外潜、期待
- 如果在使用過程中遇到Bug,希望您能Issues我挠唆,謝謝(或者嘗試下載使用最新版本看看Bug修復(fù)沒有)
- 如果在使用過程中發(fā)現(xiàn)功能不夠用处窥,希望你能Issues我,非常想為這個工具增加更多好用的功能玄组,謝謝
- 如果你想為cocoapods-ybin輸出代碼滔驾,請拼命Pull Requests我