需要有关在iOS中请求通知权限的说明



关于"授权"的信息

关于"请求许可"的信息

问题是,它们都需要在同一个代码中,但它们被拆分为两个单独的文章。因此,目前尚不清楚如何同时处理它们,以及它们之间的区别(当然,除了输入参数(。

我发现的代码只是按顺序调用这些函数:

UNUserNotificationCenter.current().requestAuthorization(options: authOptions, completionHandler: { granted, error in
...
})
UIApplication.shared.registerForRemoteNotifications()

这是正确的吗?这些方法之间有什么区别?

附言:根据文档,我也不能简单地将它们放在application:didFinishLoad:中,因为应用程序从第一次运行时就不应该请求权限。

UNUserNotificationCenter.current().requestAuthorization(options: authOptions, completionHandler: { granted, error in
...
// code here
})

询问用户他是否接受接收通知,这实际上会显示弹出窗口,但这(用于推送通知而非本地(

UIApplication.shared.registerForRemoteNotifications()

根据文件

调用此方法启动与Apple的注册过程推送通知服务。如果注册成功,应用程序将调用您的应用程序委派对象的应用程序:didRegisterForRemoteNotificationsWithDeviceToken:方法并向其传递设备令牌。

//

if #available(iOS 10.0, *) {
let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound]
UNUserNotificationCenter.current().requestAuthorization(
options: authOptions,
completionHandler: {_, _ in })
// For iOS 10 display notification (sent via APNS)
UNUserNotificationCenter.current().delegate = self
} else {
let settings: UIUserNotificationSettings =
UIUserNotificationSettings(types: [.alert, .badge, .sound], categories: nil)
application.registerUserNotificationSettings(settings)
}
application.registerForRemoteNotifications()

相关内容

  • 没有找到相关文章

最新更新