如何使用 enabledRemoteNotificationTypes 更新代码,因为它“在 iOS 8 中不受支持”?

Posted

技术标签:

【中文标题】如何使用 enabledRemoteNotificationTypes 更新代码,因为它“在 iOS 8 中不受支持”?【英文标题】:How to update code using enabledRemoteNotificationTypes because it is "not supported in iOS 8"? 【发布时间】:2014-09-29 02:53:30 【问题描述】:

这是我用于 RemoteNotificationType 的代码:

NSUInteger rntypes = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];

我得到的错误是这样的:

2014-09-29 15:46:47.416 Dummy[258:21766] enabledRemoteNotificationTypes 在 ios 8.0 及更高版本中不受支持。

如果有人能给我解决方案,那将是一个很大的帮助。

【问题讨论】:

这个***.com/questions/25111644/…怎么样? 【参考方案1】:

您也可以使用此代码:

if ([[UIApplication sharedApplication] respondsToSelector:@selector(currentUserNotificationSettings)]) 

    UIUserNotificationType types = [[[UIApplication sharedApplication] currentUserNotificationSettings] types];

    if (types == UIUserNotificationTypeNone) 
        // Do something
    

 else 

    UIRemoteNotificationType types = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];

    if (types == UIRemoteNotificationTypeNone) 
        // Do something
    

如果您只想检查用户是否已注册远程通知,则此选项:

if ([[UIApplication sharedApplication] respondsToSelector:@selector(isRegisteredForRemoteNotifications)]) 

    BOOL isRegisteredForRemoteNotifications = [[UIApplication sharedApplication] isRegisteredForRemoteNotifications];

    if (isRegisteredForRemoteNotifications)  
        // Do something
    

 else 

    UIRemoteNotificationType types = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];

    if (types == UIRemoteNotificationTypeNone) 
        // Do something
    

【讨论】:

【参考方案2】:

在此条件下使用可在 iOS 7 和之前的 iOS 8 中提供支持

#define SYSTEM_VERSION_LESS_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedAscending)

NSUInteger rntypes;
  if (!SYSTEM_VERSION_LESS_THAN(@"8.0")) 
   rntypes = [[[UIApplication sharedApplication] currentUserNotificationSettings] types];
else
   rntypes = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];

【讨论】:

【参考方案3】:

请使用以下方法-

[[UIApplication sharedApplication] isRegisteredForRemoteNotifications]

[[UIApplication sharedApplication] currentUserNotificationSettings]

在 iOS 8 中检索用户启用的远程通知和用户通知设置。

【讨论】:

以上是关于如何使用 enabledRemoteNotificationTypes 更新代码,因为它“在 iOS 8 中不受支持”?的主要内容,如果未能解决你的问题,请参考以下文章

如果加入条件,我该如何解决。如果使用字符串连接,我如何使用

如何使用本机反应创建登录以及如何验证会话

如何在自动布局中使用约束标识符以及如何使用标识符更改约束? [迅速]

如何使用 AngularJS 的 ng-model 创建一个数组以及如何使用 jquery 提交?

如何使用laravel保存所有行数据每个行名或相等

如何使用 Math.Net 连接矩阵。如何使用 Math.Net 调用特定的行或列?