You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在iPhone上是否可以查看来自APNS的推送通知原始数据?

APNS推送Payload获取排查方案

APNS是iOS系统维护的专属长连接,走系统根证书校验的加密链路,不遵循普通应用的HTTP代理规则,所以mitmproxy这类HTTPS代理工具无法拦截到APNS的流量,属于正常现象。你可以通过以下几种方案获取推送数据:

方案1:直接通过macOS控制台读取系统级推送日志

这是最高效的方案,不需要修改App代码,TestFlight/正式包都适用:

  • 将测试iPhone连接到Mac,打开macOS自带的「控制台」应用
  • 左侧设备列表选中你的测试iPhone,右上角搜索框输入关键词apsd(iOS系统负责处理APNS推送的守护进程)
  • 触发测试推送,即可在日志流中找到完整的推送Payload,包含aps系统字段和所有后端自定义字段

方案2:App本地埋点导出推送数据

如果需要关联App收到推送后的业务处理逻辑,可以修改代码新增本地日志:

  • 在UNUserNotificationCenterDelegate的推送接收回调、AppDelegate的静默推送触发回调中,将完整的userInfo参数写入App沙盒的Documents目录下的本地日志文件
  • 测试触发推送后,打开Xcode的「Window - Devices and Simulators」,选中你的测试设备,找到对应App,选择「Download Container」导出沙盒数据,右键查看包内容即可提取日志文件

方案3:通过通知服务扩展拦截Payload

如果需要捕获推送到达后、展示前的原始数据,可以新增通知扩展:

  • 给项目新增Notification Service Extension,在didReceiveNotificationRequest:withContentHandler:方法中将request.content.userInfo写入本地日志
  • 打TestFlight包安装测试,推送到达时扩展会优先执行,完整记录原始Payload

注意事项

  • 若测试的是静默推送,可在控制台搜索时补充关键词content-available避免漏看日志
  • 写入沙盒日志不需要额外申请权限,只要写入App自身的沙盒目录即可正常执行

内容的提问来源于stack exchange,提问作者Jacky Choi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 17:54:07