当问及获准iOS的通知检测?(Detect when asked and granted permi

2019-10-21 23:02发布

在iOS版客户端当你第一次运行它,你会得到一个UIAlert请求许可授权访问向此人发送通知。

我想知道,如果能够首先:

  1. 赶上在此提醒将火(在它发生之前)
  2. 美中不足的是什么给予​​响应(取消或确定)(它发生之后)

有没有这样一种方式来获得的回调,上述两种情况?

非常感谢

Answer 1:

在iOS 8及更高版本,实现你的AppDelegate下面的方法:

- (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings {

    // You could check here [[UIApplication sharedApplication] currentUserNotificationSettings]

    // This is where you set up your local notification
}

这种方法是一种UIApplicationDelegate方法,因此,所有你需要做的就是在你实现它MyAppDelegate.m文件。

从文档 :

告诉什么可以用来类型的通知来获得用户关注的委托。

参数

应用:已注册用户通知设置的应用对象。

notificationSettings:用户通知设置了可用于您的应用程序。

在此对象的设置可能比您最初要求的不同。

讨论

使用本地或远程通知,以提醒用户新的信息必须通过调用registerUserNotificationSettings注册类型,他们想使用的通知应用程序:应用程序对象的方法。 (在上之前8.0的iOS版本的关联应用,登记也隐含当您计划本地通知发生。)您的应用程序的请求与用户当前的喜好相结合,以确定允许哪些通知类型,并将结果传递给这个方法在notificationSettings参数。

当您第一次注册您的应用程序的首选通知类型,系统会询问用户您的应用程序是否应该被允许发送通知并存储用户的响应。 该系统不提示在随后的注册尝试的用户。 用户可以随时更改使用设置应用程序的通知偏好。

由于用户的喜好可以改变的,您应经常检查notificationSettings参数的内容。 这些设置只能控制用户是否被通知本地或远程通知。 通知仍然在适当的时间交付给您的应用程序。



Answer 2:

应用程序本身导致警报弹出,所以你并不需要“捕获”任何东西。

一旦你调用- (void)registerForRemoteNotifications ,操作系统将触发警报。

阅读这里了解更多详情。



文章来源: Detect when asked and granted permission to iOS notifications?