在 Xcode 开发环境下安装 App,并使用 TPNS 推送开发环境的消息时,出现以下两种错误提示:
Missing Provisioning Profile - iOS Apps must contain a provisioning profile named embedded.mobileprovision.
缺少配置文件-iOS应用程序必须包含名为embedded.mobileprovision的配置文件。
错误原因:App 包缺少配置文件 embedded.mobileprovision,导致 token 环境未知。
出现此问题时,可按以下步骤解决:
需要找到扩展插件 target,选择【Build Settings】>【Excluded Architectures】,添加 arm64 指令集,如下图所示:
将推送证书 p12 文件转换成 pem 文件,并按以下步骤排查:
openssl pkcs12 -clcerts -nokeys -out apns-dev-cert.pem -in apns-dev-cert.p12
openssl x509 -in apns-dev-cert.pem -inform pem -noout -text
在调用 Rest API 推送时 content
字段不能设置空,否则将导致在 iOS 10系统及以下的设备上无法弹出通知。
p8 证书存在安全隐患。虽然 p8 比 p12 有更长的有效期,但是同时也有更大的推送权限和范围。若泄露,可能会造成更加严重的影响。TPNS 推荐您使用 p12 来分别管理您的应用的推送服务。
消息推送是一个涉及到很多关联模块协作的任务,每一个环节出现异常都可能会导致消息收不到,建议使用 工具箱 进行排查。以下是最为常见的问题:
客户端排查
即使是客户端正确获取 Token,且已经将 Token 注册到移动推送 TPNS 后台,当使用移动推送 TPNS 服务器推送下发消息成功时,如果是设备未联网的状态,客户端将无法收到消息。若设备在短时内恢复网络连接,可能还会收到消息(APNs 会持有一段时间,然后再次下发消息)。
SDK 接入问题,在接入 SDK 之后,请确保能够获取到接收消息的标识(Device Token),具体请参见 iOS SDK 集成指南。
服务器排查
推送证书排查
移动推送 TPNS 服务器在向 APNs 请求消息下发的时候,需要使用两个必需的参数:消息推送证书和设备标识(Device Token),在进行消息推送的时候,请确保消息推送证书是有效的。关于消息推送证书的设置请参见 iOS 推送证书获取指引。
请检查 Xcode 工程中配置的 bundle id 是否和设置的 Provision Profile 文件匹配,且对应 App 的 Provision Profile 文件是否已配置了消息推送能力。
首先,终端开发侧,需将音频文件放到 bundle 目录下:
不支持,移动推送 TPNS 服务器下发消息请求到 APNs,若 APNs 发现设备不在线,APNs 会持有一段时间,具体时长 APNs 并未给出明确的说明。
请给参数 content-available 赋值1,同时不使用 alert、badge、sound。
此问题现象是由于 APNs 服务不稳定导致的,可尝试通过以下方式解决:
可使用 API 在创建推送时使用通知栏消息类型,且标题内容设为空,同时只设置 badge_type 即可,详情可参考 API 文档说明。
示例如下:
{
"platform": "ios",
"audience_type": "token",
"environment":"dev",
"token_list": [
"05a8ea6924590dd3a94480fa1c9fc8448b4e"],
"message_type":"notify",
"message":{
"ios":{
"aps": {
"badge_type":-2
}
}
}
}
如果您的 App 集成了 TPNS iOS SDK(1.2.7.2 - 1.2.5.4),且使用到 TPNS 的【撤回】功能,同时 App 侧实现了如下系统回调:
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
则可能会遇到此问题。您可以使用【覆盖】功能来实现已发送消息的处理。
一、SMB(Server Message Block,SMB)介绍 腾讯云文件存储(Cloud File Storage...
本文转载自公众号读芯术(ID:AI_Discovery) 下面这种模型你肯定见过,高德纳优势...
本文汇总了基于对象存储服务(OBS,Object Storage Service)常见应用场景的操作...
1. 接口描述 接口请求域名: dc.tencentcloudapi.com 。 接受专用通道申请 默认...
调用DescribeZones查询一个阿里云地域下的可用区。 接口说明 DescribeZones仅查...
LastModified(最后修改时间)是OSS文件(Object)的一个重要属性,在计费、增量...
新冠肺炎疫情持续在全球蔓延,造成经济活动大幅缩减,凸显全球化经济体系的物理...
日志服务支持使用用户自定义标识动态定义机器组,本文介绍如何创建自定义标识机...
摘要: MapReduce是一个编程模型,以及处理和生成大型数据集的一个相关实现,它...
背景介绍 Grafana是监控运维场景下常用的开源系统 它丰富易用的可视化界面极大的...