1

我使用 Ionic 和 Cordova 创建了一个移动应用程序。

但是,我遇到了科尔多瓦 PushPlugin 的问题

当我在应用程序设置中手动停用我的 Iphone 4s (ios 8.4) 上的 Push 时,PushPlugin 注册功能什么也不做(没有成功,没有错误,没有 ^^) 当我手动重新激活插件时,插件运行良好

我阅读了很多关于 IOS8 问题的答案: How to update code using enabledRemoteNotificationTypes because it is "not supported in iOS 8"?

我尝试了来自社区的 3/4 repo 以及 Telerik 插件。但同样的问题,当没有启用推送时,什么也没有发生。

我想要的是 :

  • 未启用时错误回调中至少有一个错误
  • 或者更好,像科尔多瓦相机一样处理它:当我手动禁用照片时,会打开一个弹出窗口说激活它

就像 Objective C 对我来说是一门完全未知的语言一样,任何帮助将不胜感激

谢谢

4

1 回答 1

2

applicationDidBecomeActive您可以在(在您的appDelegate.m)上查看当前推送状态

- (void)applicationDidBecomeActive:(UIApplication *)application
{

        if ([[UIApplication sharedApplication]  respondsToSelector:@selector(isRegisteredForRemoteNotifications)]) {
            if ([[UIApplication sharedApplication]  isRegisteredForRemoteNotifications]){
                NSLog(@"iOS 8, notifications enabled");
            } else {
                NSLog(@"iOS 8, notifications not enabled");
            }
        } else {
            UIRemoteNotificationType types = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];
            if (types & UIRemoteNotificationTypeAlert)
            {
                NSLog(@"Notifications Enabled");
            }
            else
            {
                NSLog(@"Notifications not enabled");
            }
        }

}

您还可以将该代码放入插件中并收听applicationDidBecomeActive通知

无论如何,您应该在您尝试过的插件上打开问题,他们应该调用失败回调,因为推送未启用

于 2015-07-22T11:20:56.423 回答