如何使用 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 中不受支持”?的主要内容,如果未能解决你的问题,请参考以下文章
如何在自动布局中使用约束标识符以及如何使用标识符更改约束? [迅速]