我注意到发送推送通知会导致以下行为:
在短暂的延迟后,看看 Banner 第二次展示的方式?
起初我以为我们的后端错误地发送了2个推送通知,一个接一个 .
但是,这似乎是单个Push通知的默认iOS行为 . 显示 Banner ,然后立即“再次显示” . 这导致gif中显示的这种抖动的UI . Banner 似乎收到两次 .
使用iOS 9.0.2进行测试 .
我不记得在其他发送推送通知的应用程序中看到此行为 . 我做错了会导致 Banner 显示两次吗?
雷达:
Engineering已确定您的错误报告(23133694)与另一个问题(23130766)重复,并将被关闭 .
8 回答
我们在版本ios 9.3.3和ios 9.2中使用的两个设备遇到了这个问题 . 但是这个问题不适用于运行ios 8.2的设备和另一个运行iOS 10的设备(在10.3上测试)
在每次全新安装时,在9.3.3和9.2的设备上发生问题 . 但重启设备似乎解决了这个问题 . 虽然这不是我们可以向客户提出的解决方案 .
在系统的控制台日志中,我们得到了“SBBannerButtonViewController开始/结束外观转换的不 balancer 调用”消息 .
这似乎是一些具有9.x版本的设备的问题,应该适用于运行iOS 10.0及更高版本的设备 .
我遇到了同样的问题,但经过无数次尝试调试后,我意识到我在
didFinishLaunchingWithOptions:
中两次调用registerUserNotificationSettings(settings)
. 确认您没有这样做根据类似问题this answer,此问题报告为rdar:// 23569779,应在iOS 9.3公开发布中修复 .
Please leave a comment 如果您在iOS 9.3中重现此问题
据称固定在:
iOS 9.2.1 beta(Build:13D11)
您是否使用数据库来存储设备ID?
如果是,那么可能是存储设备ID两次 . 如果可能干净db并尝试再次发送它
我知道这个答案是在原帖后几年,但万一这有助于任何人...
就我而言,我使用的是CloudKit通知,并意外创建了两个跟踪相同记录类型的订阅!
我们在IOS 9.3.1上遇到了同样的问题
我们使用城市飞艇来管理通知,这是我们的设置
经过多次尝试,我们只需删除以下行,就可以了!
我希望这会对某人有所帮助 .
我认为这里接受了错误的答案(如果这是关于从Parse迁移到OneSignal) . 因为OneSignal似乎没有任何适当的解决方案 . 如果有人,我也在寻找解决方案 . 唯一的解决方法是重启手机 .
但它很奇怪 . 我们不能要求所有用户重启他们的设备 .
你确定你正在进行所有设置吗?
如果您将提供更多代码,将更容易找到错误 . 这肯定不是iOS漏洞 .
Basic things to check when you have trouble with server notifications:
1.检查您的配置文件并清除所有未使用的证书 .
2.确保您的服务器配置正常 . 同样,完整答案需要更多细节 .
如果您离线执行此操作,那么通常您会错过代码中的某些内容,或者您的隐藏帖子的处理程序会被调用两次 .