【发布时间】:2015-10-22 09:42:57
【问题描述】:
我遇到了推送通知问题,它只影响我运行 iOS 9 的设备:
- 我的应用程序安装在一组设备中。我运行它并使用以下代码注册推送通知:
if ([application respondsToSelector:@selector(registerUserNotificationSettings:)]) {
UIUserNotificationType userNotificationTypes = (UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound);
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:userNotificationTypes categories:nil];
[application registerUserNotificationSettings:settings];
[application registerForRemoteNotifications];
}
- 该应用在所有设备上都处于后台。
- 我向所有设备发送推送通知 - 并获得成功的响应。
- 所有 iOS 8 设备都会在通知中心显示推送通知。
- 没有 iOS 9 设备在通知中心显示推送通知。
- 随机在任何 iOS 9 设备中打开该应用程序。显示通知(由
application:didReceiveRemoteNotification:触发)。
iOS 9 有什么变化吗?即使应用程序未处于活动状态,如何在 iOS 9 上也显示推送通知? 我不想使用通知在后台获取任何内容,我只需要显示一条消息。
【问题讨论】:
-
澄清一下,成功的“发送”响应并不意味着设备收到了推送,它只是意味着消息格式正确、证书匹配等。不保证推送通知待发货
-
@Paulw11 你说得对,我编辑了我的问题只是为了避免混淆。无论如何,我已经测试了很多次,它的行为总是这样:推送通知是“发送”的,它只有在我打开应用程序时才会出现,这很奇怪。即使应用程序在后台,它也应该出现。它应该显示在通知中心。
-
@JobertSá 我也有同样的问题。你终于成功修复了吗?
-
@Thomi 是的,我刚刚发布了我的答案:stackoverflow.com/a/36898516/564532 也许它对你的情况也有帮助?
标签: ios push-notification ios9