设备令牌未在 ios 8.1 中生成
Posted
技术标签:
【中文标题】设备令牌未在 ios 8.1 中生成【英文标题】:Device Token not generating in ios 8.1 【发布时间】:2015-01-28 05:16:58 【问题描述】:我已经使用以下方法实现了推送通知生成。
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0)
[[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge) categories:nil]];
[[UIApplication sharedApplication] registerForRemoteNotifications];
else
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:
(UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert)];
设备令牌正常生成。但是当关闭声音和徽章应用程序图标并将警报样式设置为无时,(设置 -> 应用程序名称 -> 通知)设备令牌不会生成。此问题仅在 ios 8 设备中出现。在 iOS 7 设备中它可以正常工作。任何人都可以为此提供解决方案。
【问题讨论】:
如果你禁用通知如何获取设备令牌兄弟 没有启用设备令牌。请看图片。 那么,使用方法注册的时候是不是也会出现错误呢?我可能会发现不推荐使用的方法混淆了应用程序的注册过程。请确保(如果您想支持 iOS7 及更早版本)正确注册:if ([[UIApplication sharedApplication] respondsToSelector:@selector(registerUserNotificationSettings:)]) @Lepidopteron 当声音和徽章应用程序图标开关打开时它可以正常工作 【参考方案1】:这更像是iOS7的一个bug。通知有 3 种方式向用户提示:声音/徽章/警报。 如果您禁用声音和徽章,并且如果您将警报样式设置为无(即禁用警报),则无法显示通知。
我认为这是电池优化:如果无法通知用户,为什么要将他注册到远程通知?
【讨论】:
以上是关于设备令牌未在 ios 8.1 中生成的主要内容,如果未能解决你的问题,请参考以下文章
图像未在 iPad Air、iPad 3 等较新的 iPad 设备上显示,但在模拟器 iOS 8.1 上显示
Android 8.1(API 27) - 重启后键盘未在Kiosk模式应用中显示