在iOS客户端首次运行时,您会收到一个UIAlert,要求获得发送此人通知的权限。
我想知道它是否可能首先出现:
是否有这种方法可以获得上述两种情况的回调?
非常感谢
答案 0 :(得分:4)
在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
文件中实现该方法。
告诉代表可以使用哪些类型的通知来引起用户的注意。
参数
应用程序:注册用户通知设置的app对象。
notificationSettings:您的应用可用的用户通知设置。
此对象中的设置可能与您最初请求的设置不同。
讨论
使用本地或远程通知提醒用户注意新信息的应用必须通过调用app对象的registerUserNotificationSettings:方法来注册他们想要使用的通知类型。 (在8.0之前的iOS版本上链接的应用程序中,当您安排本地通知时,注册也可能会隐式发生。)您的应用程序的请求与用户的当前首选项相结合,以确定允许的通知类型,并将结果传递给此notificationSettings参数中的方法。
首次注册应用程序的首选通知类型时,系统会询问用户是否应允许您的应用程序发送通知并存储用户的响应。在后续注册尝试期间,系统不会提示用户。用户始终可以使用“设置”应用更改通知首选项。
由于用户的首选项可能会更改,因此您应始终检查notificationSettings参数的内容。这些设置仅控制是否向用户通知本地或远程通知。该通知仍会在适当的时间发送给您的应用。
答案 1 :(得分:1)