使用 mPaaS Xcode Extension
本文將對 mPaaS Xcode Extension 的使用進行詳細介紹,主要包括以下方面:
啟動 mPaaS Xcode Extension
在 macOS 的 應(yīng)用程序 中找到 mPaaS 獨立的應(yīng)用 mPaaSPlugin,單擊直接運行即可。
新建工程
創(chuàng)建一個全新的、基于 mPaaS 框架的工程,所需步驟如下。
單擊 mPaaS > 創(chuàng)建工程。
配置 mPaaS 新工程,輸入 項目名稱 并導(dǎo)入下載的
.config
配置文件,然后單擊 下一步 按鈕。選擇要創(chuàng)建應(yīng)用的 模板類型,然后單擊 下一步 按鈕。
選擇工程使用的 基線類型和版本,然后單擊 下一步 按鈕。
基線類型說明:
標準基線:公開的標準 mPaaS SDK 版本,可以在下拉列表中選擇。
定制基線:目前只開放給專有云用戶,在輸入框中填入對應(yīng)的基線 ID 后會自動進行校驗。校驗失敗會提示錯誤信息。校驗正確后即可使用。
選擇工程需要添加的模塊,然后單擊 下一步 按鈕。
說明您也可以先不添加模塊,在創(chuàng)建工程之后,再參考各組件的接入文檔,使用 編輯工程 功能添加所需的模塊。
選擇項目保存的目錄,單擊 創(chuàng)建 按鈕。
開始創(chuàng)建工程,創(chuàng)建成功之后會自動打開新建的 Xcode 工程。
編輯工程
打開工程
如果您已經(jīng)有 Xcode 工程,那您也可以通過插件直接打開現(xiàn)有工程。將工程文件拖拽進插件、或者單擊插件后定位到工程文件即可。
工程面板介紹
單擊 mPaaS > 編輯工程,打開編輯工程頁面,頁面分為若干區(qū)域,如下圖所示。
1 菜單欄:展示所有工程的操作菜單。
2 工具欄:展示常用的工具和當前操作的 target 信息。
3 狀態(tài)欄:展示當前編輯的工程路徑。
4 工程結(jié)構(gòu)欄:展示工程的結(jié)構(gòu),包括 workspace、project、target 的結(jié)構(gòu)。
5 工作區(qū):主要的操作區(qū)域,根據(jù)選擇不同的編輯菜單展示不同。
6 隱藏鍵:可以展開/隱藏工程結(jié)構(gòu)側(cè)邊欄。
7 切換工程:打開另一個工程進行編輯。
8 展示:在 Finder 中展示當前工程。
9 關(guān)閉:關(guān)閉當前編輯中的工程。
導(dǎo)入云端元數(shù)據(jù)
單擊 導(dǎo)入云端元數(shù)據(jù) 菜單,單擊 選擇配置文件 按鈕,選擇下載的云端數(shù)據(jù)配置文件,頁面中可以預(yù)覽該配置文件的基礎(chǔ)信息,單擊 開始導(dǎo)入 按鈕,將對應(yīng)的配置導(dǎo)入到當前工程中。
選擇配置文件之后,可以單擊 “X” 按鈕來關(guān)閉,只有單擊 開始導(dǎo)入 之后配置才會生效。
工程概覽
單擊 工程概覽 菜單,工作區(qū)會解析工程配置,展示工程的詳細信息,包括工程基礎(chǔ)信息,mPaaS 基線信息,工程狀態(tài),應(yīng)用信息。相關(guān)操作包括:
模塊查看:單擊 展開 按鈕,彈框展示集成的所有模塊。
工程狀態(tài):
未知:表示未集成 mPaaS 或者解析信息失敗。
未安裝:表示 mPaaS 庫文件缺失,不可正常運行,單擊 安裝 按鈕可以完成安裝操作。
已安裝:表示 mPaaS 庫文件已經(jīng)正確安裝,工程可以直接運行。
編輯模塊
單擊 編輯模塊 菜單,工作區(qū)會根據(jù)工程屬性展示不同的頁面。
已經(jīng)集成 mPaaS 的工程
編輯已經(jīng)集成 mPaaS 的工程,工作區(qū)會展示工程中已經(jīng)集成的模塊列表。
單擊 修改模塊 會彈出 模塊列表 編輯頁面。
在列表中單擊模塊卡片來添加或取消模塊。
單擊每個模塊右側(cè)的 詳情 按鈕可以查看該模塊的具體信息,包括描述、Release Note、包含的 framework 文件詳情等。
單擊左上角的 X 可以關(guān)閉模塊列表,返回到主頁面,選擇的結(jié)果不會生效。
單擊右上角的 保存 按鈕保存編輯結(jié)果,同時返回到主頁面,工作區(qū)的模塊列表中會展示編輯的結(jié)果。
返回主頁面后,單擊 開始編輯,將修改的模塊添加到當前工程中或從當前工程中移除。
說明只有單擊開始編輯之后,結(jié)果才會生效。
原生系統(tǒng)工程
編輯原生的系統(tǒng)工程,工作區(qū)會展示未集成的提示頁面。
單擊 添加模塊 會彈出 模塊列表 編輯頁面。
進入頁面會提示選擇集成的 基線類型和版本,選擇好基線后,單擊 確認 按鈕會收起基線選擇菜單,下方刷新出對應(yīng)基線的模塊列表。
進入模塊列表后,單擊右上方的 選擇基線 下拉菜單可以重新選取基線版本,切換基線后,之前添加的結(jié)果會丟失。
在列表中單擊模塊卡片來添加模塊。
單擊每個模塊右側(cè)的 詳情 按鈕可以查看該模塊的具體信息,包括描述、Release Note、包含的 framework 文件詳情等。
單擊左上角的 X 可以關(guān)閉模塊列表,返回到主頁面,選擇的結(jié)果不會生效。
單擊右上角的 保存 按鈕保存編輯結(jié)果,同時返回到主頁面,工作區(qū)的模塊列表中會展示編輯的結(jié)果。
返回主頁面后,單擊 開始編輯,將修改的模塊添加到當前工程中或從當前工程中移除。
說明只有單擊開始編輯之后,結(jié)果才會生效。
編輯模塊的相關(guān)操作及說明
選擇基線:
標準基線:公開的標準 mPaaS SDK 版本,可以在下拉列表中選擇。
定制基線:目前只開放給專有云用戶,在輸入框中填入對應(yīng)的基線 ID 后會自動進行校驗。校驗失敗會提示錯誤信息。校驗正確后即可使用。
修改模塊:打開模塊列表,進行模塊的添加或刪除操作。
COPY:建議啟用該項。選中該項后,依賴的 SDK 文件會自動拷貝到工程目錄下。
版本:在工作區(qū)會展示當前工程集成 mPaaS SDK 的版本信息。
開始編輯:執(zhí)行模塊編輯操作。
更新產(chǎn)品集
選擇 更新產(chǎn)品集 后,單擊 開始更新 按鈕執(zhí)行升級,集成的 mPaaS SDK 產(chǎn)品集會更新到最新的版本。
在工作區(qū)會展示當前工程的產(chǎn)品集信息和基線所在的最新產(chǎn)品集信息,單擊 查看模塊更新詳情 按鈕,會彈出模塊列表頁面,可以查看每個模塊的更新狀態(tài)。
單擊每個模塊右側(cè)的 詳情 按鈕,可以查看該模塊的具體信息,包括描述、Release Note、包含的 framework 文件詳情等。
如果當前工程未集成 mPaaS,展示提示頁面,建議先在 編輯模塊 進行集成。
更新產(chǎn)品集的相關(guān)操作及解釋如下:
當前產(chǎn)品集版本:已集成產(chǎn)品集會展示當前的產(chǎn)品集版本,如果工程未集成產(chǎn)品集,右上角展示當前的基線版本。
最新產(chǎn)品集版本:展示最新產(chǎn)品集的版本號,版本號結(jié)構(gòu)為“基線版本+產(chǎn)品集版本”,如 10.1.60-beta (20)。
模塊更新數(shù)量提示:提示當前工程集成的模塊在最新產(chǎn)品集中更新的數(shù)量。
查看模塊更新詳情:彈出模塊列表頁面,可以查看每個模塊的更新狀態(tài)。
查看 Release Note:打開文檔“SDK 發(fā)布說明”。
產(chǎn)品集更新時間:展示最新產(chǎn)品集的發(fā)布時間。
開始升級:執(zhí)行升級操作。
升級基線
單擊 升級基線 菜單,單擊 確認升級 按鈕可進行升級。
在基線選擇框內(nèi)選擇基線的類型和版本,下方會出現(xiàn)對應(yīng)基線的預(yù)覽框,單擊預(yù)覽中的 查看包含的模塊詳情 按鈕,會彈出模塊列表頁面,展示當前所選基線的模塊列表和模塊的安裝情況。
單擊每個模塊右側(cè)的 詳情 按鈕,可以查看該模塊的具體信息,包括描述、Release Note、包含的 framework 文件詳情等。
如果當前工程未集成 mPaaS,展示提示頁面,建議先在 “編輯模塊” 進行集成。
升級基線的相關(guān)操作及解釋如下:
選擇基線:
定制基線:目前只開放給專有云用戶,在輸入框中填入對應(yīng)的基線 ID 后會自動進行校驗。校驗失敗會提示錯誤信息。校驗正確后即可使用。
標準基線:公開的標準 mPaaS SDK 版本,可以在下拉列表中選擇。
預(yù)覽:展示基線的基線類型和版本,單擊“查看包含的模塊詳情”可以查看對應(yīng)的模塊列表信息。
確認升級:執(zhí)行升級基線操作。
升級基線之后工程中的 mPaaS 信息將會全部更新,當從 低于 10.1.32 的版本升級到 10.1.32 及以上版本 時,工程中的 MPaaS
目錄結(jié)構(gòu)和 Info.plist
中的內(nèi)容會發(fā)生一些變化,具體內(nèi)容如下。
目錄結(jié)構(gòu)變化
升級前工程中 MPaaS 目錄下存在的組件 category 目錄和文件,在升級之后只會保留 APMobileFramework 和 mPaas,其他目錄將會移除自動移除,比如 MPHotpatchSDK、APRemoteLogging 等。如果這些目錄下有存放自定義的文件,請?zhí)崆皞浞荼4?。詳細目錄結(jié)構(gòu)參見 mPaaS 目錄結(jié)構(gòu)。
Info.plist 變化
升級前工程中 Info.plist
中插入的 mPaaS 相關(guān)字段內(nèi)容如下圖所示。
由于 10.1.32 及以上的版本只需保留 Product Version, 不再需要 Product ID、mPaaS、mPaaSInternal 字段,所以升級基線后,插件會自動將這些字段移除。如果發(fā)現(xiàn)未成功移除,需手動刪除這些內(nèi)容。升級后的內(nèi)容如下圖所示:
手動刪除時,請勿刪除 Product Version
。
無線保鏢
單擊 無線保鏢 菜單,在頁面中輸入 AppSecret 等信息,單擊 生成圖片 按鈕可生成 RPC 驗簽和離線包等解密需要的 yw_1222.jpg
圖片。無線保鏢的相關(guān)操作及解釋如下:
默認路徑:該路徑展示為工程中無線保鏢圖片的默認存放位置。
App Secret:無線保鏢驗簽的私鑰。公有云用戶可以在 mPaaS 控制臺查詢;專有云用戶請向服務(wù)端開發(fā)人員咨詢。單擊右側(cè)幫助按鈕可以查看更多信息。
Type:無線保鏢圖片 yw_1222.jpg 的類型。
標準:生成普通的無線保鏢圖片(默認為此類型)。
賬戶通:生成小程序賬戶通專用的圖片。
注意:使用該類型的無線保鏢圖片后,注意對賬戶通和網(wǎng)關(guān)相關(guān)功能進行回歸測試)。
JPG Version:無線保鏢圖片
yw_1222.jpg
的版本號。根據(jù)客戶端SecurityGuardSDK.framework
的版本號區(qū)分:若版本號低于 5.3.85,則
yw_1222.jpg
版本號為 V4。若版本號高于或等于 5.3.85,則
yw_1222.jpg
版本號為 V5。
生成圖片:單擊按鈕會提示選擇圖片保存的路徑,自動打開默認路徑,選擇路徑后會執(zhí)行生成無線保鏢圖片操作。
說明公有云用戶導(dǎo)入的
meta.config
文件中已生成了此圖片,如無特殊需求,一般不用重新生成。專有云用戶請使用此方法生成
yw_1222.jpg
圖片,并添加到工程中。
自定義快捷鍵
mPaaS Xcode Extension 支持用戶為 mPaaS 菜單添加自定義快捷鍵,方便快捷并且個性十足。打開 Xcode 偏好設(shè)置,選擇 Key Binding,過濾 mPaaS 即可設(shè)置,如下圖所示。
基礎(chǔ)工具
單擊 mPaaS > 基礎(chǔ)工具,打開基礎(chǔ)工具頁面,如下圖所示。mPaaS 提供了一些基礎(chǔ)工具供開發(fā)者使用,包括自助服務(wù)、熱修復(fù)工具、和打包構(gòu)建工具。
自助服務(wù)-日志診斷工具
使用日志診斷工具,可以方便自助排查 mPaaS SDK 使用中的問題,輸入問題日志,該工具會自動掃描匹配到的問題原因,并提供解決方案。
單擊 日志診斷工具 圖標,打開診斷工具頁面。在輸入框中輸入問題日志,單擊 提交 按鈕可以自動對日志進行分析。
分析到結(jié)果之后會彈出診斷報告頁面,查看匹配到的問題詳情。
日志診斷工具的相關(guān)操作和說明
日志輸入框:輸入待掃描的原始日志(目前支持客戶端運行時的日志)。
重置:提交任務(wù)后,如需再次查詢,可以單擊 重置 在輸入框內(nèi)重新提交日志。
查看完整診斷報告:打開診斷報告窗口,展示當前日志的掃描結(jié)果。
熱修復(fù)生成資源包
使用熱修復(fù)功能時,為了保障安全性,本地測試通過后的 .js
腳本文件,需要進行打包加密后才能提交到發(fā)布平臺。
單擊 生成資源包 圖標,打開生成熱修復(fù)資源包頁面,選擇本地測試通過的 .js
腳本和 RSA 密鑰文件,填入應(yīng)用的 App Secret,單擊 確定 按鈕可以生成加密后的熱修復(fù)資源包文件。
生成資源包的相關(guān)操作及解釋如下:
腳本文件:本地測試驗證通過后的
.js
腳本。App Secret: 應(yīng)用對應(yīng)的 App Secret。單擊右側(cè)幫助按鈕查看更多信息。
私鑰文件:已有的 RSA 私鑰文件,通過 openssl 獲取,與添加到工程中的公鑰文件配對的私鑰文件。
生成新的 RSA 密鑰:如果您還沒有密鑰文件或者想使用新的密鑰文件,可以選中該項,插件會自動幫你生成新的 RSA 密鑰對,保存在輸出的目錄中。
查看產(chǎn)物說明:單擊可以展開具體的說明信息,如圖中所示。
熱修復(fù)提取公鑰簽名
在熱修復(fù)腳本的驗簽和加解密這個過程中,涉及到一對 RSA 非對稱密鑰和一個 AES 對稱加密密鑰,每個接入應(yīng)用需要使用自己的密鑰,保證腳本下發(fā)的安全性。其中驗證 RSA 的密鑰過程需要在 main.m
中驗證公鑰自身的簽名,以確保公鑰文件未被替換。
單擊 提取公鑰簽名 圖標,打開提取熱修復(fù)公鑰簽名頁面,選擇生成熱修復(fù)包使用的公鑰和私鑰文件,單擊 確定 按鈕在頁面上可以看到提取出來的簽名數(shù)組。將打印出來的簽名數(shù)組拷貝到 main.m
方法中即可。
提取公鑰簽名的相關(guān)操作及解釋如下:
公鑰文件:生成熱修復(fù)資源包使用的 RSA 公鑰文件。
私鑰文件:生成熱修復(fù)資源包使用的 RSA 私鑰文件。
簽名數(shù)組:展示提取出來的公鑰簽名。
應(yīng)用打包
mPaaS 插件提供一鍵打包功能,輸入 bundleID 、bundle version、簽名參數(shù)等信息,可生成一個 .ipa
的安裝包,使用 mPaaS 發(fā)布管理進行 App 的升級,提醒用戶安裝新版本。
單擊 應(yīng)用打包 圖標,打開應(yīng)用打包頁面,填寫頁面全部信息,單擊 開始構(gòu)建 按鈕開始打包。
應(yīng)用打包的相關(guān)操作及解釋如下:
工程地址:選擇打包工程的目錄地址,即工程文件(
.xcodeproj
或.xcworkspace
)所在的目錄。Scheme:構(gòu)建的 target 名稱。
Bundle Identifier:當前工程的 Bundle Identifier 。如果添加了移動網(wǎng)關(guān)服務(wù),必須保證與云端元數(shù)據(jù)中的 bundleId 字段保持一致,否則移動網(wǎng)關(guān)驗簽失敗。
Build Version:當前工程的版本號。一般與工程里
info.plist
文件中的 Bundle Version 保持一致。CodeSign Identity:簽名的證書名稱??稍?Keychain 中導(dǎo)入給當前工程簽名的證書,找到證書的常用名稱即可。
Provisioning Profile:與 Bundle Identifier 和簽名證書相匹配的 provision 配置文件;
Configuration:打包的配置,Debug 或 Release。
Build For App Store:是否為 App store 安裝包,勾選后表示生成的
.ipa
為上傳 App Store 的包;未勾選表示生成的.ipa
為開發(fā)包。開始構(gòu)建:單擊按鈕會提示選擇打包產(chǎn)物生成的目錄,選擇后會開始打包構(gòu)建操作,打包成功后會自動打開生成的目錄文件。
重簽名
mPaaS 插件提供對原有 .ipa
安裝包重簽名的功能,可生成一個重簽名后的 .ipa
安裝包,可在更多的設(shè)備上安裝使用,便于測試驗證。
單擊 重簽名 圖標,打開重簽名頁面,填寫頁面全部信息,單擊 確定 按鈕開始重簽名操作。
重簽名的相關(guān)操作及解釋如下:
IPA 安裝包:已有的
.ipa
安裝包文件。證書名稱:新證書的名稱,可使用
security find-identity -p codesigning -v ~/Library/Keychains/login.keychain
查看。證書 ID:新證書的 ID,可查看 keychain 中相應(yīng)證書的用戶 ID。
Provision File:更新證書相匹配的 provision 配置文件。
確定:單擊按鈕會提示選擇重簽名文件的保存目錄,選擇后會開始重簽名操作,重簽名成功后會自動打開生成的目錄文件。
常見問題
在常見問題頁面,單擊 開始瀏覽,即可打開詳情頁面,可以根據(jù)查詢的具體組件,查看相關(guān)的常見問題。
Preferences 設(shè)置
打開 mPaaS Xcode Extension 之后,可以單擊菜單 mPaaSPlugin > Preferences,或通過快捷鍵“? + ,” ,打開設(shè)置窗口。
通用
配置診斷日志保存路徑:使用診斷功能時,生成日志報告的保存路徑,下拉菜單中選擇 Custom 選項,可以自定義日志存儲目錄。
網(wǎng)絡(luò)
配置 SOCKS 代理:勾選 啟用 SOCKS 代理 來啟用代理,同時在下方輸入框輸入代理服務(wù)器的地址和端口。
評分及評論
打開 mPaaS Xcode Extension 之后,可以單擊首頁左下角的 徽章 圖標打開 評分及評論 窗口。
如果是直接在 應(yīng)用程序 中啟動的 mPaaS Xcode Extension,還可以通過菜單 Help > 撰寫評論 打開 評分及評論 窗口。
提交評分及評論
在對話框中單擊星形進行評分,填寫評論標題和內(nèi)容,單擊 提交 按鈕提交評分及評論內(nèi)容。
已經(jīng)提交的評論和評分可以再次修改、重新提交。
查看全部評論
在對話框中單擊 查看全部評論 按鈕,打開新窗口,展示全部用戶的評論數(shù)據(jù)。