本文介紹如何基于 CocoaPods 原生的插件擴展機制生成各項配置,進而快速接入 mPaaS。
前置條件
已安裝 CocoaPods 1.0.0 及以上版本,并確保要接入的工程是 CocoaPods 工程。
已安裝 Cocoapods-mPaaS 插件。如您尚未安裝該插件,可使用以下命令進行安裝。
sh <(curl -s http://mpaas-ios.oss-cn-hangzhou.aliyuncs.com/cocoapods/installmPaaSCocoaPodsPlugin.sh)
已在控制臺創建應用,并下載了
.config
配置文件。更多信息,參見 在控制臺創建應用。
接入步驟
將
.config
配置文件拷貝到工程的根目錄下(與Podfile
同級)。說明請確認下載的
.config
配置文件的文件名是以iOS
結尾。如果是以ios
結尾,則需要手動改為iOS
。在命令行執行
pod mpaas init
命令,自動處理Podfile
文件,并添加plugin
、source
以及mPaaS_baseline
配置。自動配置的代碼如下:plugin "cocoapods-mPaaS" source 'https://gitee.com/mpaas/podspecs.git' mPaaS_baseline 'x.x.x'
配置
Podfile
文件。指定 mPaaS 基線,修改
mPaaS_baseline
。例如:mPaaS_baseline '10.2.3'
,其中10.2.3
為基線版本號,不同版本之間的區別,參見 發布說明。添加 mPaaS 組件依賴,使用
mPaaS_pod
。例如:mPaaS_pod "mPaaS_Nebula"
,其中mPaaS_Nebula
為組件名稱,更多組件名稱可參考下方的組件列表。組件配置
適用基線
說明
mPaaS_pod "mPaaS_LocalLog"
10.1.32+
本地日志
mPaaS_pod "mPaaS_Log"
10.1.32+
移動分析:行為日志、自動化日志、Crash 日志、性能日志分析。
mPaaS_pod "mPaaS_Diagnosis"
10.1.32+
診斷:客戶端診斷分析。
mPaaS_pod "mPaaS_RPC"
10.1.32+
移動網關:提供下載、上傳、RPC 調用等功能。
mPaaS_pod "mPaaS_Sync"
10.1.32+
移動同步:長連接服務。
mPaaS_pod "mPaaS_Push"
10.1.32+
消息推送
mPaaS_pod "mPaaS_Config"
10.1.32+
開關配置:根據 key 從服務端拉取對應的 value,可動態控制客戶端邏輯。
mPaaS_pod "mPaaS_Upgrade"
10.1.32+
升級發布:提供便捷的主動檢測升級的服務,可用于日常灰度發布、線上新版本更新提示。
mPaaS_pod "mPaaS_Share"
10.1.32+
分享:支持分享文本、圖片到微博、釘釘、支付寶好友等知名渠道。
mPaaS_pod "mPaaS_Nebula"
10.1.32+
H5 容器與離線包:Nebula 容器,支持前端與 native 交互。
mPaaS_pod "mPaaS_UTDID"
10.1.32+
設備標識:簡單快捷地獲取設備 ID,以利于應用程序安全有效的找到特定設備。
mPaaS_pod "mPaaS_DataCenter"
10.1.32+
統一存儲:提供安全、快速、可加密、支持多種數據類型的 KV 存儲;數據庫 DAO 支持等多種持久化方案。
mPaaS_pod "mPaaS_ScanCode"
10.1.32+
掃碼:快速識別二維碼、條形碼。
mPaaS_pod "mPaaS_LBS"
10.1.32+
移動定位:移動客戶端定位解決方案。
mPaaS_pod "mPaaS_CommonUI"
10.1.32+
通用 UI:通用 UI 組件庫,提供各種 UI 組件。
mPaaS_pod "mPaaS_BadgeService"
10.1.32+
紅點:客戶端“紅點”提醒組件,支持紅點、數字、New 等提醒樣式,自動管理樹形結構的紅點關系。
mPaaS_pod "mPaaS_AlipaySDK"
10.1.32+
支付寶快捷支付:支付寶快捷收銀臺。
mPaaS_pod "mPaaS_Multimedia"
10.1.32+
多媒體組件:多媒體組件,支持圖片下載、上傳、緩存等功能。
mPaaS_pod "mPaaS_MobileFramework"
10.1.32+
移動框架:客戶端應用框架,子 app 管理,多 tab 類應用管理,第三方跳轉管理,viewController 跳轉,異常處理與上報。
mPaaS_pod "mPaaS_OpenSSL"
10.1.32+
OpenSSL
mPaaS_pod "mPaaS_TinyApp"
10.1.32+
小程序:小程序集成發布能力。
mPaaS_pod "MPBaseTest"
10.1.32+
基礎測試:基礎的測試模塊。
mPaaS_pod "mPaaS_CDP"
10.1.32+
智能投放:智能配置各類營銷廣告和展示形式,動態投放到客戶端。
mPaaS_pod "mPaaS_AliAccount"
10.1.60+
小程序賬戶通:小程序賬戶通發布。
mPaaS_pod "mPaaS_ARTVC"
10.1.68
音視頻通話:音頻、視頻通話組件。支持雙人、多人視頻通話和在線會議。
mPaaS_pod "mPaaS_BlueShield"
10.2.3+
藍盾加密組件:在 config 文件中添加 absBase64Code 參數,可自動生成藍盾圖片。
mPaaS_pod "mPaaS_MDC"
10.2.3+
移動調度組件:細粒度域名策略調度。
完整的 Podfile 示例如下:
執行
pod mpaas update x.x.x
,其中x.x.x
為配置的基線號,例如10.2.3
。執行
pod install
即可完成接入。您還可以追加--verbose
查看詳細日志。說明如果在執行
pod install
時提示不能找到從 GitHub 官網引入的庫,請在 podfile 的頂部指定 GitHub 官方 Source 的源地址:https://github.com/CocoaPods/Specs.git
。如果您在接入后遇到了三方庫沖突,可將引起沖突的三方庫移除。具體操作,請參見 iOS 沖突處理。
升級指南
當 mPaaS 有新版本發布時,您可選擇升級組件,或整體升級基線(即 SDK 版本)。
升級組件
在命令行執行
pod mpaas update x.x.x
,其中x.x.x
為當前使用的基線版本號,例如10.2.3
。執行
pod install
即可完成該基線下對應的組件的升級。
升級基線
在
podfile
中,修改mPaaS_baseline
對應的基線號(支持標準或者定制基線),例如從10.1.68
修改為10.2.3
,即可完成整體基線的升級。執行
pod install
即可完成基線升級。
mPaaS iOS podspec 地址切換
背景
mPaaS 原有使用的 podspec 保存倉庫 code.aliyun.com
已停止服務(于 2023 年 06 月 01 日停止更新,于 2023 年 06 月 30 日停止服務)。
繼續使用原有 repo 影響如下:
使用 mPaaS pod plugin 進行 SDK 更新時,無法拉取到各基線的最新版本;
2023.06.30 之后,使用 mPaaS pod plugin 無法拉取到任何基線版本。
當前 mPaaS 已在 gitee.com
上支持了全部 mPaaS 版本。
解決方案
升級 mPaaS pod plugin
執行下列命令更新到最新 mPaaS pod plugin。
sh <(curl -s http://mpaas-ios.oss-cn-hangzhou.aliyuncs.com/cocoapods/installmPaaSCocoaPodsPlugin.sh)
執行完成后在終端中執行 pod plugins installed
命令,查看 cocoapods-mPaaS 的版本,顯示為 0.9.6
或以上即為升級成功。
修改 podfile 中 source 配置
將 podfile 中原有的 source "https://code.aliyun.com/mpaas-public/podspecs.git"
替換為
source "https://gitee.com/mpaas/podspecs.git"
。
API 變更
本次修改只涉及插件的變更,暫無插件命令使用的變化。
測試驗證
執行完成上述升級與修改配置操作后,可繼續執行 mPaaS pod plugin 相關拉取命令測試是否可以拉取到最新基線版本以及 SDK。
參數列表
您可以通過配置參數,改變插件的一些默認行為。
使用方法:
在 podfile 中的 plugin "cocoapods-mPaaS"
后方添加參數。示例如下:
參數 | 功能 | 適用版本 |
| 生成 V6 保鏢圖片 | ≥ V0.9.6 |
| 生成 V5 保鏢圖片 | ≥ V0.9.6 |
| 在某些場景(如獨立 framework 工程)中,不需要自動添加 mPaaS 模板目錄文件。 | ≥ V0.9.5.0.0.2 |
| 在某些場景(如使用內網代理)下,不自動檢查添加默認 repo。 | ≥ V0.9.5.0.0.2 |
10.2.3 基線版本無需設置 :guard_image_version
,默認生成 V6 圖片。
命令列表
安裝了 cocoapods-mPaaS 插件后,您可使用命令行工具輔助開發。
命令 | 功能 |
| 在 |
| 更新基線,參數 |
| 在正式版插件中,該命令會升級插件,重新運行安裝腳本。在 beta 版插件中,該命令除了能夠實現正式版中的功能外,還會更新本地基線。 |
| 顯示完整的基線和對應的組件信息。 |
| 篩選某個模塊名的信息。 |
| 顯示部分缺省的基線信息,方便一鍵粘貼到 Podfile 中。 |
| 直接從命令行打開 |
| 顯示當前工程所用的完整基線。 |
| 顯示當前 Cocoapods-mPaaS 插件的版本號。 |