首页 文章

iOS推送通知 Banner 为单次推送显示两次

提问于
浏览
41

我注意到发送推送通知会导致以下行为:

Push Banner is shown twice?

在短暂的延迟后,看看 Banner 第二次展示的方式?

起初我以为我们的后端错误地发送了2个推送通知,一个接一个 .

但是,这似乎是单个Push通知的默认iOS行为 . 显示 Banner ,然后立即“再次显示” . 这导致gif中显示的这种抖动的UI . Banner 似乎收到两次 .

使用iOS 9.0.2进行测试 .

我不记得在其他发送推送通知的应用程序中看到此行为 . 我做错了会导致 Banner 显示两次吗?

雷达:

Engineering已确定您的错误报告(23133694)与另一个问题(23130766)重复,并将被关闭 .

8 回答

  • 0

    我们在版本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及更高版本的设备 .

  • 3

    我遇到了同样的问题,但经过无数次尝试调试后,我意识到我在 didFinishLaunchingWithOptions: 中两次调用 registerUserNotificationSettings(settings) . 确认您没有这样做

  • 32

    根据类似问题this answer,此问题报告为rdar:// 23569779,应在iOS 9.3公开发布中修复 .

    Please leave a comment 如果您在iOS 9.3中重现此问题

    据称固定在:

    iOS 9.2.1 beta(Build:13D11)

  • 1

    您是否使用数据库来存储设备ID?

    如果是,那么可能是存储设备ID两次 . 如果可能干净db并尝试再次发送它

  • 2

    我知道这个答案是在原帖后几年,但万一这有助于任何人...

    就我而言,我使用的是CloudKit通知,并意外创建了两个跟踪相同记录类型的订阅!

  • 2

    我们在IOS 9.3.1上遇到了同样的问题

    我们使用城市飞艇来管理通知,这是我们的设置

    let config = UAConfig.default()
    
    UAirship.setLogging(false)
    UAirship.takeOff(config)
    UAirship.push().userPushNotificationsEnabled = true
    UAirship.push().notificationOptions = [.alert, .badge, .sound]
    UAirship.push().backgroundPushNotificationsEnabled = false
    UAirship.push().pushNotificationDelegate = self
    

    经过多次尝试,我们只需删除以下行,就可以了!

    UAirship.push().notificationOptions = [.alert, .badge, .sound]
    

    我希望这会对某人有所帮助 .

  • 3

    我认为这里接受了错误的答案(如果这是关于从Parse迁移到OneSignal) . 因为OneSignal似乎没有任何适当的解决方案 . 如果有人,我也在寻找解决方案 . 唯一的解决方法是重启手机 .

    但它很奇怪 . 我们不能要求所有用户重启他们的设备 .

  • 1

    你确定你正在进行所有设置吗?
    如果您将提供更多代码,将更容易找到错误 . 这肯定不是iOS漏洞 .

    Basic things to check when you have trouble with server notifications:

    1.检查您的配置文件并清除所有未使用的证书 .
    2.确保您的服务器配置正常 . 同样,完整答案需要更多细节 .

    如果您离线执行此操作,那么通常您会错过代码中的某些内容,或者您的隐藏帖子的处理程序会被调用两次 .

相关问题