通知未显示在其中一台 IOS 设备中

Posted

技术标签:

【中文标题】通知未显示在其中一台 IOS 设备中【英文标题】:Notification not getting shown in one of IOS device 【发布时间】:2013-07-31 15:11:35 【问题描述】:

我遇到了通知问题。通知在过去 12 小时内未显示在设备中。它早些时候工作。发送到其他设备工作正常。 我检查了通知中心和其他东西。已为应用启用通知。

关注后 http://developer.apple.com/library/ios/#technotes/tn2265/_index.html 我在 iOS 上启用了启用推送状态消息。

在控制台上,设备正在打印一些信息,例如:

<Error>: kDataAttachStatusNotification sent, wasAttached: 1 isAttached: 1

这是什么意思?是否从服务器端收到通知,由于某种原因无法显示和接收?

编辑: 用 iTunes 同步日志后。日志这样说:

2013-08-01 10:51:06 +0530 apsd[76]: _getClientIdentity: already had identity: <SecIdentityRef: (some value here)>
wasUp NO isUp NO linkQualityBelowAndWOWAvail: YES wantsInterfaceAssertion YES  avoidWWANOnCall NO
2013-08-01 10:51:06 +0530 apsd[76]: _getClientIdentity: already had identity: <SecIdentityRef: (some value here)>
2013-08-01 10:51:06 +0530 apsd[76]: peer(68) received XPC_ERROR_CONNECTION_INVALID

【问题讨论】:

通知中心的设置是什么?如果它只是横幅并且您没有从顶部菜单中清除最后一个横幅,您可能不会在此处收到其他通知。 @Alexander 不,这似乎不是问题。我有更多详细信息的更新问题。 我也遇到了同样的问题。 @MarcO'Morain 尝试在通知中心切换设置。 在您的应用程序上您是否为 iOS 8 设置了.registerForRemoteNotifications ?还有..你确定iOS设备令牌被正确发送了吗?请记住,APNS 并非 100% 可靠。 【参考方案1】:

您是否请求用户允许显示通知?

尝试将以下代码添加到您的 AppDelegate 的 application: didFinishLaunchingWithOptions: 方法中:

斯威夫特:

 if (UIApplication.instancesRespondToSelector(Selector("registerUserNotificationSettings:"))) 
    application.registerUserNotificationSettings(UIUserNotificationSettings(forTypes: .Alert, categories: nil))
 

目标-C:

if ([application respondsToSelector:@selector(registerUserNotificationSettings:)]) 
    [application registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert categories:nil]];

【讨论】:

以上是关于通知未显示在其中一台 IOS 设备中的主要内容,如果未能解决你的问题,请参考以下文章

如果在 JSON 中通知“aps”,iOS 推送通知将不起作用

iOS中通知中心NSNotificationCenter应用总结

iOS开发中通知(Notification)快速入门及推送通知实现教程

swift中通知的使用

推送通知未在 iOS 10 设备中显示

gcm推送通知:先成功,后IOS未注册