【问题标题】:Push Notifications from my app stopped working on iPhone 6s but still work on iPad我的应用程序中的推送通知在 iPhone 6s 上停止工作,但在 iPad 上仍然有效
【发布时间】:2015-10-09 06:49:48
【问题描述】:

我的自定义应用程序使用推送通知,我已对其进行了重建并将其加载到我的 iPad mini Retina 和 iPhone 6s(均为 IOS 9.0.2)上。我已经在两者的设置中启用了应用程序的通知,并且在 Xcode 中我已经检查过

a) 在 plist 中设置了“必需的后台模式,以便应用下载内容以响应推送通知。

b) 在 Capabilities 下,Push Notifications 设置为 on

c) 在功能下,后台模式已选中远程通知。

所以 iPad 会收到推送通知,但 iPhone 不会。我已经试用了 3 部新 iPhone。

想法?

【问题讨论】:

    标签: ios iphone ipad push-notification apple-push-notifications


    【解决方案1】:

    由于 iOS8 推送注册发生了变化,如果您从未从 iOS7 更新,这将是您第一次遇到此问题。事实上,不推荐使用的旧方法在 iOS8 和 9 上会静默失败。
    这是从 = iOS8 注册的 sn-p。

     if ([[UIApplication sharedApplication] respondsToSelector:@selector(registerUserNotificationSettings:)])
        {
            [[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge) categories:nil]];
    
        }
        else
        {
            [[UIApplication sharedApplication] registerForRemoteNotificationTypes:
             (UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert)];
        }
    

    【讨论】:

    • 我已经编写了代码来执行您的建议。几乎相同(使用 [application 而不是 [UIApplication sharedApplication] 并检查选择器 isRegisteredForRemoteNotifications)我尝试用您的代码替换,但 iPhone 仍然没有收到通知。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多