mPaaS 插件 提供圖形化界面,幫您快速接入 mPaaS。功能包括:增刪和升級 mPaaS 組件、工程打包、重簽名等。
點擊 Edit > mPaaS > Main,您可以進入 mPaaS 插件主界面。如下圖所示:
本文將對 mPaaS 插件 以下功能進行詳細說明:
mPaaS 插件失效聲明
由于蘋果系統安全策略的升級,從 macOS 10.15.1 版本開始加入了應用簽名的強校驗機制,去簽名容易導致 Xcode 無法使用,甚至造成系統卡死。經過驗證,在 macOS 10.15.3 及以上的系統使用 Xcode 11.3.1 及以上的版本時,安裝去簽名版本 mPaaS 插件會大概率出現系統卡死,恢復 Xcode 簽名之后問題消失。基于以上原因,我們決定逐漸停止更新 iOS mPaaS 插件(去簽名版本),并預計于 2020 年 9 月停止維護。
建議您盡快安裝并使用新版本插件 mPaaS Xcode Extension。Extension 目前已經涵蓋 mPaaS 插件的全部功能,并且增加了很多新特性,歡迎大家使用。
導入云端數據
點擊 導入云端元數據 選項,選擇下載的云端數據配置文件,點擊 確定 按鈕,將對應的配置導入到當前工程中。
編輯模塊
點擊 mPaaS 模塊編輯 選項,選擇需要添加的模塊,點擊 開始編輯 按鈕,將對應的模塊添加到當前工程中。
- 取消:表示此模塊已經添加,可以點擊按鈕從當前工程中刪除。 說明:如果是使用基于 mPaaS 框架創建的工程,在編輯模塊時,請勿取消移動客戶端框架模塊。
- 添加:表示此模塊還未添加,可以點擊按鈕,添加此模塊到當前工程。
- COPY:工程依賴的 SDK 會統一安裝到用戶機器的公共目錄,并由插件自動維護。
- 不勾選:會使用公共目錄下的
framework
集合。這樣可以減小工程的大小,用戶只需要提交自己的代碼。 - 勾選:相應模塊的
framework
會拷貝到當前工程的MPaaS
目錄下,您可以將這些模塊包一起提交。
- 不勾選:會使用公共目錄下的
添加的模塊會同步到工程的 mPaaS
目錄下,具體結構說明詳見 mPaaS 目錄結構。
產品集更新
點擊 mPaaS 產品集更新 選項,可查看產品集信息和狀態。點擊右下方的 開始更新 后,產品集會升級到最新版本,包括所有添加的模塊。
- 當前產品集版本:表示當前工程集成的 mPaaS 產品集版本號。
- 最新產品集版本:表示 mPaaS 最新發布的產品集版本號。
- 查看最新產品集 Release Note:查看 mPaaS SDK 的 release note。
- 模塊名稱:表示最新產品集中包含的模塊名。
- 狀態:表示此模塊在當前工程中的狀態:未安裝、已安裝最新版本、可升級到最新版本。
- 開始更新:自動將產品集中所有可升級的模塊進行升級。
升級成功后,當前工程目錄下的 mpaas_sdk.config
文件也會同步更新產品集及各模塊的版本信息。
升級基線
點擊 mPaaS 基線升級 選項,在右側下拉框中選擇要升級到的基線版本(即 SDK 版本),點擊 確認升級 按鈕可進行升級。
- 當前基線版本:表示當前 target 已經集成的 mPaaS 基線版本號。
- 要升級的基線版本:表示要升級到的基線版本號。
- 模塊列表:要升級到的基線中包含的所有模塊。包括以下信息:
- 模塊名稱:模塊的名稱。
- 描述:模塊的描述信息,右側 info 按鈕可以查看具體的 release note。
- 狀態:表示該模塊是否已經集成安裝到工程中。
升級基線之后工程中的 mPaaS 信息將會全部更新,當從 低于 10.1.32 的版本升級到 10.1.32 及以上版本 時,工程中的 MPaaS
目錄結構和 Info.plist
中的內容會發生一些變化,具體內容如下。
目錄結構變化
升級前工程中 MPaaS
目錄下存在的組件 category 目錄和文件,在升級之后只會保留 APMobileFramework
和 mPaas
,其它目錄將會移除自動移除,比如 MPHotpatchSDK
、APRemoteLogging
等。如果這些目錄下有存放自定義的文件,請提前備份保存。詳細目錄結構參見文檔 mPaaS 目錄結構。
Info.plist 變化
升級前工程中 Info.plist
中插入的 mPaaS 相關字段內容如下圖所示。
由于 10.1.32 及以上的版本只需保留 Product Version
, 不再需要 Product ID
、mPaaS
、mPaaSInternal
字段,所以升級基線后,插件會自動將這些字段移除,如果發現未成功移除,需手動刪除這些內容。升級后的內容入下圖所示:
Product Version
。生成 HotPatch 資源包
使用熱修復功能時,為了保障安全性,本地測試通過后的 .js
腳本文件,需要進行打包加密后才能提交到發布平臺。
點擊 生成 Hotpatch 資源包 選項,上傳本地測試通過的 .js
腳本和 RSA 私鑰文件,得到加密后的 Hotpatch 資源包文件。傳入參數的含義如下:
- 腳本文件:本地測試驗證通過后的
.js
腳本。 - 私鑰文件:通過
openssl
獲取,與添加到工程中的公鑰文件配對的私鑰文件。 - Hotpatch Key:appKey。該 key 會從云端配置文件中讀取,您不用修改。
- AppSecret: 應用對應的 App Secret。點擊右側幫助按鈕查看更多信息。
生成的熱修復資源包,與上傳的 .js
腳本文件保存在同級目錄下,包含的內容如下:
Test.js
:最后上傳到發布平臺的加密文件。Test.sig
:加密后的簽名文件。Test.zip
:加密后的腳本文件。通常在上傳到發布平臺之前,用來驗證加密算法是否正確。
打包 mPaaS
mPaaS 插件提供一鍵打包功能,輸入 bundleID
、bundle version
、簽名參數等信息,可生成一個 .ipa
的安裝包,使用 mPaaS 發布管理 進行 App 的升級,提醒用戶安裝新版本。
- Bundle Identifier:當前工程的 Bundle Identifier 。如果添加了移動網關服務,必須保證與云端元數據中的 bundleId 字段保持一致,否則移動網關驗簽失敗。
- Bundle Version:當前工程的版本號。一般與工程里
info.plist
文件中的 Bundle Version 保持一致。 - CodeSign Identity:簽名的證書名稱。可在 Keychain 中導入給當前工程簽名的證書,找到證書的常用名稱即可。
- Provisioning Profile:與 Bundle Identifier 和簽名證書相匹配的 provision 配置文件。
- Debug:是否使用 debug 配置信息。
true
表示使用 debug 配置信息,false
表示使用 release 配置信息。 - App Store:是否為 App store 安裝包。
true
表示生成 App Store 安裝包,需使用發布證書打包;false
表示生成非 App Store 安裝包,可用開發證書打包。
生成的 .ipa
包會保存在當前工程的 Product
目錄下。
重簽名
mPaaS 插件提供對原有 .ipa
安裝包重簽名的功能,可生成一個重簽名后的 .ipa
安裝包,可在更多的設備上安裝使用,便于測試驗證。
- ipa 安裝包:已有的 ipa 安裝包。
- 證書名稱:新證書的名稱,可使用
security find-identity -p codesigning -v ~/Library/Keychains/login.keychain
查看。 - 證書ID:新證書的 ID,可查看 keychain 中相應證書的
用戶 ID
。 - Provision File:跟新證書相匹配的 provision 配置文件。
點擊確定后,選擇重簽名后的 .ipa
包的保存路徑,新的安裝包可以直接在真機上安裝使用。
生成無線保鏢圖片
mPaaS 插件提供離線生成無線保鏢安全圖片的功能,輸入 bundleID
、AppSecret
等信息,可生成 RPC 驗簽和離線包等解密需要的 yw_1222.jpg
圖片。
- Bundle Identifier:當前工程的 Bundle Identifier。
- AppID:當前工程的 AppID。與工程中
meta.config
文件中的appId
字段保持一致。 - WorkspaceID:當前工程的 WorkspaceID。與工程中
meta.config
文件中的workspaceId
字段保持一致。 - AppSecret:無線保鏢驗簽的私鑰。公有云用戶可以在 mPaaS 控制臺查詢;專有云用戶請向服務端開發人員咨詢。點擊右側幫助按鈕可以查看更多信息。
- jpgVersion:無線保鏢圖片
yw_1222.jpg
的版本號。根據客戶端SecurityGuardSDK.framework
的版本號區分:- 若版本號低于 5.3.85,則
yw_1222.jpg
版本號為 4。 - 若版本號高于或等于 5.3.85,則
yw_1222.jpg
版本號為 5。
- 若版本號低于 5.3.85,則
- OutPath:
yw_1222.jpg
圖片的輸出路徑。 - 圖片類型:類型可以選擇 標準 和 賬戶通,默認為 標準。當選擇 賬戶通 類型時,會生成小程序賬戶通專用的圖片。
- 公有云用戶導入的
meta.config
文件中已生成了此圖片,如無特殊需求,一般不用重新生成。 - 專有云用戶請使用此方法生成
yw_1222.jpg
圖片,并添加到工程中。
查看 mPaaS 插件版本
- mPaaS 插件在 5.0.5 版本中提供了檢查更新的功能,您可以在 mPaaS 插件中點擊 Edit > mPaaS > 關于,查看當前正在使用的 mPaaS 插件的版本。
版本信息如下: - 如果在您的 mPaaS 插件菜單中沒有 關于 菜單,則說明您當前使用 mPaaS 插件版本小于 5.0.5。因此您需要在終端執行以下命令以獲知準確的版本號。
mpaas --version