我为一家公司创建了应用程序,他们希望通过Enterprise为员工分发这些公司。当他们使用iOS 9版手机执行此操作时,它就像魅力一样,但对于iOS 8,它们永远不会被提示“允许推送通知”,因此应用程序将永远不会收到任何内容。我查看了手机设置中的通知,默认情况下它已开启。
我尝试将其设置为禁用,确保应用已终止,然后将其添加回启用并启动应用。我已经尝试删除应用程序,重新安装它,重新启动并再次尝试所有步骤,但它无法正常工作。
有人有任何想法吗?
我现在得到了提示。我仍然没有得到任何通知...我有两个设备与iOS 8,没有一个收到通知,我有两个设备> iOS 9和他们都收到通知。
答案 0 :(得分:1)
如果您真的想看到通知提醒, 来自Apple Doc [https://developer.apple.com/library/ios/technotes/tn2265/_index.html#//apple_ref/doc/uid/DTS40010376-CH1-TNTAG42],它说,
推送启动应用首次注册推送通知时,iOS会询问用户是否希望接收该应用的通知。一旦用户响应此警报,除非设备已恢复或应用程序已卸载至少一天,否则不会再次显示该警报。
但如果你想立即检查,只需做几件事
但是,通过这样做,您将收到接收接收通知的提醒。
根据您的说法,由于默认情况下启用了推送通知(或之前已接受),您应该会收到通知。
请发表评论。
答案 1 :(得分:0)
你必须像这样设置
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:
(UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound)
categories:categories];
[[UIApplication sharedApplication] registerUserNotificationSettings:settings];
检查用户是否允许系统设置的本地通知
/**
* check if user allow local notification of system setting
*
* @return YES-allowed,otherwise,NO.
*/
+ (BOOL)isAllowedNotification {
//iOS8 check if user allow notification
if ([UIDevice isSystemVersioniOS8]) {// system is iOS8
UIUserNotificationSettings *setting = [[UIApplication sharedApplication] currentUserNotificationSettings];
if (UIUserNotificationTypeNone != setting.types) {
return YES;
}
} else {//iOS7
UIRemoteNotificationType type = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];
if(UIRemoteNotificationTypeNone != type)
return YES;
}
return NO;
}