排查指南 | 关于 mPaaS-iOS 小程序打不开问题的解决方案

简介: 让天下没有打不开的小程序!!!

在我们集成 mPaaS 插件并使用小程序的过程中,很多开发者遇到了打不开小程序的问题。今天就举例说明,开发者在完成基本接入后,尝试打开 H5 应用,但容器页面显示错误提示“设置标签”时,应该如何解决。

 

1.png

常见原因

mPaaS 框架在打开一个H5应用前,首先需要获知该应用离线包的基本信息。

因此客户端会主动通过RPC接口alipay.client.getUnionResource去拉取离线包信息。如果离线包信息获取失败,或没有命中要打开的目标应用,容器会提示错误 “系统繁忙,请稍后再试”。

针对这类问题,排查方向包括:检查 RPC 请求是否正常、检查环境和离线包发布是否匹配等。

问题排查步骤

(一)检查 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 对应的密钥或者网关无法获取 appId 对应的签名密钥。
7001验签的参数不够网关服务端验证签名不通过。
7002验签失败网关服务端验证签名不通过。
7003验签-时效性失败API 请求入参 ts 时间戳超过系统设置的时间有效性。需要检查客户端时间是否为系统时间。
7007验签-缺少 ts 参数API 请求缺少验签 ts 参数。
7014验签-缺少 sign 参数API 请求缺少验签 sign 参数。一般情况下是客户端签名数据失败,导致缺失 sign 参数。请检查客户端无线保镖图片是否正确。

(二)基本排查动作

1. 检查 mPaaS 控制台设置的 Bundle ID 与 iOS 工程是否完全一致,包括:

mPaaS 控制台(控制台 > 代码配置 > iOS)上设置的 Bundle ID:

 

2.png

工程的 Bundle "Indentifier:

 

3.png

工程中 Info.plist 的 Bundle Indentifier:

 

4.png

2. 控制台下载的 .config 文件内容与项目中的 meta.config 是否完全一致:

mPaaS 控制台下载的 .config 文件:

 

5.png

工程中的 meta.config 文件:

 

6.png

3. 客户端设备的时间是否为当前时间,时间误差必须小于 8 小时。

4. 如果上述检查存在信息不一致,则检查不通过,建议:

  • 修改工程中的信息,确保与 mPaaS 控制台一致。
  • 如果手机时间信息不正确,请修正时间配置。
  • 从控制台下载最新 .config文件,通过mPaaS Extension 插件重新导入:

 

7.png

  • 确认所有信息正确后,卸载已安装的 App,重新打包编译后进行调试,观察 RPC 7XXX 类错误是否得到解决。

(三)检查 H5 App 信息和发布状态是否正确

客户端需要主动拉取离线包信息,在 RPC 请求正常返回的前提下,如果服务端没有返回目标离线包的信息,也会导致加载失败的错误,错误原因为离线包 AppNotExist 不存在。

基本检查动作:

1.根据检查RPC请求是否正常的说明,确认alipay.client.getUnionResource
RPC请求是否可以正常返回。

2.在 Xcode 控制台搜索错误关键字 AppNotExist,确认问题根因是否为找不到目标 H5 App,例如:

 

8.png

3.在 mPaaS 控制台和 iOS 工程中交叉确认如下信息,包括:

  • worksapceId、appId、mpaasapi 等元数据:控制台和 meta.config 中的相关配置要完全一致,如果不一致,需要重新下载 .config 文件并导入。
  • 目标离线包 ID:离线包管理页中的离线包 ID 要和工程代码中要打开的离线包 ID 一致;
  • 查看离线包发布状态,确认离线包是否存在一个处于发布状态的版本:

 

9.png

  • 查看离线包发布状态,确认离线包资源类型:必须为“普通资源包”;“全局资源包”不可直接打开;
  • 查看离线包发布状态,确认该发布的离线包版本:必须 大于 客户端已安装的离线包版本;
  • 查看离线包发布状态,确认该发布覆盖的客户端版本范围:必须覆盖测试 App 的当前版本号;注意:iOS 项目中,客户端版本号依赖info.plist 中的 Produc Version 字段,而不是 Xcode 项目 version,这里需要开发者手动同步。

 

10.png

 

11.png

工单协助

如果依然不能解决问题,请准备好相关问题的复现 Demo 工程,通过阿里云工单系统联系 mPaaS 售后技术支持。

 

原文链接
本文为阿里云原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/514561.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

十万亿级OLAP引擎解读-AnalyticDB如何支撑数据银行超大规模低成本实时分析

简介: 数据银行是一款品牌消费者运营的商业数据产品,由于其核心分析能力需要在海量数据上实现任意维度自由分析和响应时间上的强需求,我们大规模使用AnalyticDB作为底层的分析引擎,最终以较低的成本,出色的性能&#x…

C-Power 自主无人海上电力系统有望通过高效能源传输及远程高带宽通信技术,开启新的海上应用

开发利用海浪能是一个快速发展的领域,海洋工程师正在改进技术,以提供可靠、经济高效的海洋能源发与存储,并实现全新的海上数据与通信服务。 哥伦比亚电力技术公司 (C-Power) 位于俄勒冈州科瓦利斯市,是波浪能系统的全球领先企业&…

性能高1倍,价格低3/4!数据库实时同步新选择!

2020年双11,云原生实时数仓首次在阿里巴巴双11核心数据场景落地,实现商业全链路实时化,毫秒级海量数据处理能力。搜索推荐业务数据开发效率提升4倍,菜鸟物流包裹数据链路从小时级优化到3分钟,考拉分钟及小时业务1分钟内…

linux 重读环境变量,关于linux中使用source /etc/profile重新读取配置后,新的环境变量只能在当前终端里面有效,新开的终端提示 command not found...

文章目录问题知识点问题分析及解决补充问题在使用linux桌面环境(通常是ubuntu/debian/deepin等版本的linux)的时候,新增环境变量后,会使用source /etc/profile命令使新的环境变量立刻生效而不用重新启动系统。但经常会遇到使用source /etc/profile命令之…

OCP China Day 2021:开放计算十年,以全球协作打破创新边界

7月27日,由 OCP 社区主办、浪潮承办的第三届 OCP China Day 2021在北京举行,近千名IT工程师和数据中心从业者参会。开放计算正成为当前乃至未来数据中心的创新主力,通过全球化协作的创新模式,解决数据中心基础设施可持续发展的重大…

dubbogo 3.0:牵手 gRPC 走向云原生时代

作者 | 李志信 于雨 来源|阿里巴巴云原生公众号 自从 2011 年 Dubbo 开源之后,被大量中小公司采用,一直是国内最受欢迎的 RPC 框架。2014 年,由于阿里内部组织架构调整,Dubbo 暂停维护了一段时间,之后随着 Spring Cl…

时序转化为图构建高效可解释的时序分析模型

本文简要介绍我们刚刚被WSDM2021会议录用并即将发表的论文"Time-Series Event Prediction with Evolutionary State Graph"(论文地址),在文中我们提出了一种将时序转化为图进行表示建模的方法。同时我们把所实现的方法落地为阿里云SLS的智能巡检服务&…

linux 查看主机版本,Linux下如何查看版本信息的方法步骤

Linux下如何查看版本信息, 包括位数、版本信息以及CPU内核信息、CPU具体型号等等,整个CPU信息一目了然。1、# uname -a (Linux查看版本当前操作系统内核信息)Linux localhost.localdomain 2.4.20-8 #1 Thu Mar 13 17:54:28 EST 2003 i686 a…

通信行业力推零信任标准,蔷薇灵动微隔离首批获证

7月27日至28日,以“数字裂变,可信发展”为主题的2021可信云大会在京拉开帷幕。大会邀请云计算行业专家学者、知名企业代表、行业大咖同台论道,围绕行业发展趋势、落地应用、新兴技术、企业数字化上云等热门议题展开观点碰撞,带来前…

万张图片,流畅体验——记一次 Vue 列表渲染

简介: ### 背景 团队目前的Web端产品中需要显示两个列表视图:卡片列表和条目列表,并且在点击切换按钮的时候,对两个列表进行切换显示。 ![条目列表](https://ata2-img.oss-cn-zh 背景 团队目前的Web端产品中需要显示两个列表视图…

可动态调节参数的线程池实现

背景 线程池是一种基于池化思想管理线程的工具,使用线程池可以减少创建销毁线程的开销,避免线程过多导致系统资源耗尽。在高并发的任务处理场景,线程池的使用是必不可少的。在双11主图价格表达项目中为了提升处理性能,很多地方使用…

我的世界服务器linux加mod,在Linux下搭建带MOD 我的世界(Minecraft)服务器

在Linux下搭建带MOD 我的世界(Minecraft)服务器系统要求官方服务器推荐配置要求如下:CPU:Intel Core-Based CPUs or AMD K8-Based CPUs IBM 970 2.0 GHz and better内存:5 GiB硬盘空间:16 GiB上行宽带:8 Mbit/s下行宽带…

2020-12-17

集团关于Blink的相关使用文档已经十分齐全,这里不准备再过多赘述。这篇文章准备对Blink所基于的Apache社区开源产品–Flink的架构做一些浅显分析。 一:Flink历史、基本架构及分布式部署 历史 Flink项目最早开始于2010年由柏林技术大学、柏林洪堡大学、…

分布式、云原生技术之后,分布式云或成数字化转型新利器

编辑 | 宋 慧 出品 | CSDN云计算 头图 | 2021可信云大会现场 7月27日,2021年可信云大会在京顺利开幕。本届大会以“数字裂变,可信发展”为主题,云计算行业专家学者、众多国内一线云计算厂商、头部客户同台论道,围绕云计算行业趋势…

linux磁盘配额edquota,Linux磁盘配额(Quota)

开启磁盘的 quota 功能:由于 quota 需要在 ext 的 Linux 延伸格式档案才可以启动,所以你就必须要将准备开启quota 的磁盘启动参数,写进入 quota 的磁盘设定才行 ( /etc/fstab )!以我的例子而言,我想要在/home 底下进行…

图文存储常识:单机、集中、分布式、云、云原生存储

背景 本文主要对杨传辉(日照)《大规模分布式存储系统原理解析与架构实战》、大话存储、网络资源(具体参考文末链接)及个人理解进行整理,意在构建出存储发展基本轨迹和一些基本常识,让更多像我一样的初入者有个宏观上的认知。 存储…

年终盘点 | 七年零故障支撑 双11 的消息中间件 RocketMQ,怎么做到的?

作者 | 愈安 来源|阿里巴巴云原生公众号 2020 年双十一交易峰值达到 58.3W 笔/秒,消息中间件 RocketMQ 继续数年 0 故障丝般顺滑地完美支持了整个集团大促的各类业务平稳。今年双十一大促中,消息中间件 RocketMQ 发生了以下几个方面的变化: …

2021 ISC会上山石网科重磅发布智能下一代防火墙A系列,重新定义边界安全防御

勒索病毒频繁、威胁隐匿于加密流量、高级威胁藏于内部、物联网安全盲区众多,数字化发展及其带来的网络威胁态势正在发生着质的变化,网络安全所要求的防护能力不断提高。防火墙作为企业安全基础架构最重要的基石之一,其辐射到企业的边界、内网…

十年,他们在云上修了一条“高速公路”

简介: 阿里云网络的工程师们希望,通过这个平台,帮助企业更加智能地运维自己的网络、更加便捷地配置自己的网络,让上云的企业在“云高速”中实现“自动驾驶”。他们说,把路修的更好,让网络更简单&#xff0c…

linux可平通网关但不能上网,redhat问题:能ping通网关和本网段的IP,但是不能ping通DNS,也不能上网...

redhat问题:能ping通网关和本网段的IP,但是不能ping通DNS,也不能上网(2011-12-20 06:11:51)标签:上网杂谈redhat问题:能ping通网关和本网段的IP,但是不能ping通DNS,也不能上网查看路由的信息如下…