全部產品
Search
文件中心

Mobile Platform as a Service:基於已有工程且使用 CocoaPods 接入

更新時間:Jul 13, 2024

本文介紹如何基於 CocoaPods 原生的外掛程式擴充機制產生各項配置,進而快速接入 mPaaS。

前置條件

  • 已安裝 CocoaPods 1.0.0 及以上版本,並確保要接入的工程是 CocoaPods 工程。

  • 已安裝 Cocoapods-mPaaS 外掛程式。如您尚未安裝該外掛程式,可使用以下命令進行安裝。

    sh <(curl -s http://mpaas-ios.oss-cn-hangzhou.aliyuncs.com/cocoapods/installmPaaSCocoaPodsPlugin.sh)
  • 已在控制台建立應用,並下載了 .config 設定檔。更多資訊,參見 在控制台建立應用

接入步驟

  1. .config 設定檔拷貝到工程的根目錄下(與 Podfile 同級)。

    說明

    請確認下載的 .config 設定檔的檔案名稱是以 iOS 結尾。如果是以 ios 結尾,則需要手動改為 iOS

  2. 在命令列執行 pod mpaas init 命令,自動處理 Podfile 檔案,並添加 pluginsource 以及 mPaaS_baseline 配置。自動設定的代碼如下:

     plugin "cocoapods-mPaaS"
     source 'https://gitee.com/mpaas/podspecs.git'
     mPaaS_baseline 'x.x.x'
  3. 配置 Podfile 檔案。

    1. 指定 mPaaS 基準,修改 mPaaS_baseline。例如:mPaaS_baseline '10.2.3',其中 10.2.3 為基準版本號碼,不同版本之間的區別,參見 發布說明

    2. 添加 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+

      分享:支援分享文本、圖片到微博、DingTalk、支付寶好友等知名渠道。

      mPaaS_pod "mPaaS_Nebula"

      10.1.32+

      H5 容器與離線包:Nebula 容器,支援前端與 native 互動。

      mPaaS_pod "mPaaS_UTDID"

      10.1.32+

      裝置標識:簡單快捷地擷取裝置識別碼,以利於應用程式安全有效找到特定裝置。

      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 樣本如下:

      image.png

  4. 執行 pod mpaas update x.x.x,其中 x.x.x 為配置的基準號,例如 10.2.3

  5. 執行 pod install 即可完成接入。您還可以追加 --verbose 查看詳細日誌。

    說明

    如果在執行 pod install 時提示不能找到從 GitHub 官網引入的庫,請在 podfile 的頂部指定 GitHub 官方 Source 的源地址:https://github.com/CocoaPods/Specs.git

  6. 如果您在接入後遇到了三方庫衝突,可將引起衝突的三方庫移除。具體操作,請參見 iOS 衝突處理

升級指南

當 mPaaS 有新版本發布時,您可選擇升級組件,或整體升級基準(即 SDK 版本)。

升級組件

  1. 在命令列執行 pod mpaas update x.x.x,其中 x.x.x 為當前使用的基準版本號碼,例如 10.2.3

    Screenshot 2023-06-19 at 7.png

  2. 執行 pod install 即可完成該基準下對應的組件的升級。

升級基準

  1. podfile 中,修改 mPaaS_baseline 對應的基準號(支援標準或者定製基準),例如從 10.1.68 修改為 10.2.3,即可完成整體基準的升級。

    image.png

  2. 執行 pod install 即可完成基準升級。

mPaaS iOS podspec 地址切換

背景

mPaaS 原有使用的 podspec 儲存倉庫 code.aliyun.com 已停止服務(於 2023 年 06 月 01 日停止更新,於 2023 年 06 月 30 日停止服務)。

繼續使用原有 repo 影響如下:

  1. 使用 mPaaS pod plugin 進行 SDK 更新時,無法拉取到各基準的最新版本;

  2. 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 或以上即為升級成功。

image.png

修改 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" 後方添加參數。樣本如下:

image.png

參數

功能

適用版本

:guard_image_version => 6

產生 V6 保鏢圖片

≥ V0.9.6

:guard_image_version => 5

產生 V5 保鏢圖片

≥ V0.9.6

:only_frameworks => true

在某些情境(如獨立 framework 工程)中,不需要自動添加 mPaaS 模板目錄檔案。

≥ V0.9.5.0.0.2

:check_repo => false

在某些情境(如使用內網代理)下,不自動檢查添加預設 repo。

≥ V0.9.5.0.0.2

說明

10.2.3 基準版本無需設定 :guard_image_version,預設產生 V6 圖片。

命令列表

安裝了 cocoapods-mPaaS 外掛程式後,您可使用命令列工具輔助開發。

命令

功能

pod mpaas init

Podfile 中添加 pluginsourcemPaaS_baseline

pod mpaas update <VERSION>

更新基準,參數 <VERSION> 為具體的基準號,例如 10.2.3,同時也更新下 podspec 倉庫。

pod mpaas update --all

在正式版外掛程式中,該命令會升級外掛程式,重新運行安裝指令碼。在 beta 版外掛程式中,該命令除了能夠實現正式版中的功能外,還會更新本地基準。

pod mpaas info

顯示完整的基準和對應的組件資訊。

pod mpaas info <NAME> <VERSION>(其中 <VERSION> 為可選)

篩選某個模組名的資訊。

pod mpaas info --only-mPaaS

顯示部分預設的基準資訊,方便一鍵粘貼到 Podfile 中。

pod mpaas open

直接從命令列開啟 .xcworkspace 檔案。

pod mpaas version

顯示當前工程所用的完整基準。

pod mpaas version --plugin

顯示當前 Cocoapods-mPaaS 外掛程式的版本號碼。