GoForum🌐 V2EX

apns(苹果消息服务)推送异常后目前所做的努力

mrbruce516 · 2026-05-03 20:50 · 0 次点赞 · 5 条回复

按照 https://support.apple.com/zh-cn/102266 信息,以及论坛上大佬们提供的域名,做了个 rule-set ,方便工具接入使用 地址: https://raw.githubusercontent.com/mrbruce516/apns-fix/refs/heads/main/Apple_APNs.list 指向外面的节. 即可

目前测试下来,最近并非所有海外 app 都受限制,我的 PlayStation app 、gemini 等可以正常收到消息,所以猜测是苹果针对部分 app 的 Bundle ID 结合设备终端 *.push.apple.com 请求头中获取到的终端 ip ,来做了黑名单限制。也并非觉得是我们的功夫 w 限制了 apns ,如果说 apns 被 q 那么显然所有的消息推送都会有问题。

需要注意的是这个方案不够优雅,但是在 ios 上想不到更好的解决方案了,隧道无法根据 app 选择是否经过,所以当 apns 走海外的话,若节.发生故障,所有的消息(包括国内的)也会出现推送异常,目前做法是做了个 fallback 的组,选中了较为稳定的节.(集)和 direct 。

目前尝试发邮件骚扰了 cook ,以及咨询了 apple 400 客服,希望能给点说法,毕竟商业公司选择自宫是一件令人感到很绝望的事情,不知道这种问题反应多了能否得到原厂的支持。。

5 条回复
skyrocketing · 2026-05-03 21:10
#1
minivoid · 2026-05-03 21:15
#2

如果是请求头中获取的 ip ,能不能通过 mitm 改一下 header 就行,并且 direct

hsir · 2026-05-03 21:40
#3

我怎么感觉可能是苹果自己的问题…… push 推送要封早该封了,怎么会现在才来屏蔽

hefish · 2026-05-03 21:45
#4

@hsir 哈哈哈,苹果怎么可能会有问题。。。哈哈哈哈。。。 肯定是自己的问题,或者是国家地区的问题。。。咳咳

shakaraka · 2026-05-03 22:10
#5

按理说苹果可以根据设备各种数据来判断你是否在哪个国家。不然 esim 也不可能做到。

其次是需要根据设备所在国家所上架的 apps 来当做推送白名单。

那么这样就能做到设备在哪个地区,就只能接收到哪个地区白名单的 apps 的推送消息。

这不是很简单的需求么。。。

添加回复
你还需要 登录 后发表回复

登录后可发帖和回复

登录 注册
主题信息
作者: mrbruce516
发布: 2026-05-03
点赞: 0
回复: 0