溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mPaaS-iOS小程序打不開問題的解決方案是什么

發(fā)布時間:2021-12-06 16:43:40 來源:億速云 閱讀:294 作者:柒染 欄目:云計算

mPaaS-iOS小程序打不開問題的解決方案是什么,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

在我們集成 mPaaS 插件并使用小程序的過程中,很多開發(fā)者遇到了打不開小程序的問題。今天就舉例說明,開發(fā)者在完成基本接入后,嘗試打開 H5 應用,但容器頁面顯示錯誤提示“設置標簽”時,應該如何解決。

mPaaS-iOS小程序打不開問題的解決方案是什么

常見原因

mPaaS 框架在打開一個H5應用前,首先需要獲知該應用離線包的基本信息。

因此客戶端會主動通過RPC接口alipay.client.getUnionResource去拉取離線包信息。如果離線包信息獲取失敗,或沒有命中要打開的目標應用,容器會提示錯誤 “系統(tǒng)繁忙,請稍后再試”。

針對這類問題,排查方向包括:檢查 RPC 請求是否正常、檢查環(huán)境和離線包發(fā)布是否匹配等。

問題排查步驟

(一)檢查 RPC 請求是否正常

客戶端需要主動拉取離線包信息,而拉取過程依賴 RPC 請求,如果RPC 鏈路存在問題,則無法正常獲取離線包信息,導致加載失敗。要確認 RPC 請求是否存在問題,需要在 Xcode 控制臺中搜索 alipay.client.getUnionResource 觀察 RPC 請求是否正常返回。如果存在錯誤,一般的錯誤代碼包括 7XXX 或 3XXX 系列等,例如:

正常返回樣例(result-status 為 1000):

Demo[83767:2555863] [mPaaSLog] APMobileNetwork alipay.client.getUnionResource resp:{
"Content-Encoding" = gzip;
"Content-Type" = "text/plain;charset=UTF-8";
Date = "Tue, 11 Aug 2020 05:01:37 GMT";
Vary = "Accept-Encoding";
"mgw-traceid" = 0a1cfd401597122097726853822435;
"result-status" = 1000;
"server-time" = 1597122097739;
}

錯誤返回樣例(result-status 不為 1000):

Demo[83383:2546279] [mPaaSLog] APMobileNetwork alipay.client.getUnionResource resp:{
"Content-Length" = 0;
"Content-Type" = "text/plain;charset=UTF-8";
Date = "Tue, 11 Aug 2020 04:50:08 GMT";
memo = "%E9%AA%8C%E7%AD%BERPC%E6%8E%A5%E5%8F%A3%20%E5%8A%A0%E7%AD%BE%E6%95%B0%E6%8D%AE%E4%B8%BA%E7%A9%BA";
"mgw-traceid" = 0a1d7667159712140890222728553;
"result-status" = 7014;
"server-time" = 1597121408902;
tips = "%E9%AA%8C%E7%AD%BERPC%E6%8E%A5%E5%8F%A3%20%E5%8A%A0%E7%AD%BE%E6%95%B0%E6%8D%AE%E4%B8%BA%E7%A9%BA";
}

RPC 7XXX 系列錯誤的處理方法

7XXX 類錯誤均與 RPC 請求的簽名驗證過程有關,常見錯誤代碼及原因如下:

錯誤碼說明示例7000沒有設置公鑰移動 APP 中無線保鏢中無 appId 對應的密鑰或者網(wǎng)關無法獲取 appId 對應的簽名密鑰。7001驗簽的參數(shù)不夠網(wǎng)關服務端驗證簽名不通過。7002驗簽失敗網(wǎng)關服務端驗證簽名不通過。7003驗簽-時效性失敗API 請求入?yún)?ts 時間戳超過系統(tǒng)設置的時間有效性。需要檢查客戶端時間是否為系統(tǒng)時間。7007驗簽-缺少 ts 參數(shù)API 請求缺少驗簽 ts 參數(shù)。7014驗簽-缺少 sign 參數(shù)API 請求缺少驗簽 sign 參數(shù)。一般情況下是客戶端簽名數(shù)據(jù)失敗,導致缺失 sign 參數(shù)。請檢查客戶端無線保鏢圖片是否正確。

(二)基本排查動作

1. 檢查 mPaaS 控制臺設置的 Bundle ID 與 iOS 工程是否完全一致,包括:

mPaaS 控制臺(控制臺 > 代碼配置 > iOS)上設置的 Bundle ID:

mPaaS-iOS小程序打不開問題的解決方案是什么

工程的 Bundle "Indentifier:

mPaaS-iOS小程序打不開問題的解決方案是什么

工程中 Info.plist 的 Bundle Indentifier:

mPaaS-iOS小程序打不開問題的解決方案是什么

2. 控制臺下載的 .config 文件內(nèi)容與項目中的 meta.config 是否完全一致:

mPaaS 控制臺下載的 .config 文件:

mPaaS-iOS小程序打不開問題的解決方案是什么

工程中的 meta.config 文件:

mPaaS-iOS小程序打不開問題的解決方案是什么

3. 客戶端設備的時間是否為當前時間,時間誤差必須小于 8 小時。

4. 如果上述檢查存在信息不一致,則檢查不通過,建議:

  • 修改工程中的信息,確保與 mPaaS 控制臺一致。

  • 如果手機時間信息不正確,請修正時間配置。

  • 從控制臺下載最新 .config文件,通過mPaaS Extension 插件重新導入:

mPaaS-iOS小程序打不開問題的解決方案是什么

  • 確認所有信息正確后,卸載已安裝的 App,重新打包編譯后進行調試,觀察 RPC 7XXX 類錯誤是否得到解決。

(三)檢查 H5 App 信息和發(fā)布狀態(tài)是否正確

客戶端需要主動拉取離線包信息,在 RPC 請求正常返回的前提下,如果服務端沒有返回目標離線包的信息,也會導致加載失敗的錯誤,錯誤原因為離線包 AppNotExist 不存在。

基本檢查動作:

1.根據(jù)檢查RPC請求是否正常的說明,確認alipay.client.getUnionResource
RPC請求是否可以正常返回。

2.在 Xcode 控制臺搜索錯誤關鍵字 AppNotExist,確認問題根因是否為找不到目標 H5 App,例如:

mPaaS-iOS小程序打不開問題的解決方案是什么

3.在 mPaaS 控制臺和 iOS 工程中交叉確認如下信息,包括:

  • worksapceId、appId、mpaasapi 等元數(shù)據(jù):控制臺和 meta.config 中的相關配置要完全一致,如果不一致,需要重新下載 .config 文件并導入。

  • 目標離線包 ID:離線包管理頁中的離線包 ID 要和工程代碼中要打開的離線包 ID 一致;

  • 查看離線包發(fā)布狀態(tài),確認離線包是否存在一個處于發(fā)布狀態(tài)的版本:

mPaaS-iOS小程序打不開問題的解決方案是什么

  • 查看離線包發(fā)布狀態(tài),確認離線包資源類型:必須為“普通資源包”;“全局資源包”不可直接打開;

  • 查看離線包發(fā)布狀態(tài),確認該發(fā)布的離線包版本:必須 大于 客戶端已安裝的離線包版本;

  • 查看離線包發(fā)布狀態(tài),確認該發(fā)布覆蓋的客戶端版本范圍:必須覆蓋測試 App 的當前版本號;注意:iOS 項目中,客戶端版本號依賴info.plist 中的 Produc Version 字段,而不是 Xcode 項目 version,這里需要開發(fā)者手動同步。

mPaaS-iOS小程序打不開問題的解決方案是什么

mPaaS-iOS小程序打不開問題的解決方案是什么

工單協(xié)助

如果依然不能解決問題,請準備好相關問題的復現(xiàn) Demo 工程,通過阿里云工單系統(tǒng)聯(lián)系 mPaaS 售后技術支持。

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI