当用户在应用程序处于后台时从设置中手动启用推送通知令牌时,是否有办法获取推送通知令牌。 Swift中是否有一个函数可以在用户返回应用程序时获得推送通知令牌。
答案 0 :(得分:0)
您可以使用observer进行系统明智的设置更改。查看有关this thread
的更多信息答案 1 :(得分:0)
当用户浏览ios常规设置中允许的推送通知时, 该应用可以调用
UIApplication.shared.registerForRemoteNotifications()
和设备令牌可以从
获得public func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data)
据我了解,没有任何直接方法可以手动确定用户设置推送通知,因此我提出了两种替代方法
调用波纹管功能(例如)
func registerRemoteNotification() {
let notificationCenter = UNUserNotificationCenter.current()
notificationCenter.getNotificationSettings { (settings) in
if settings.authorizationStatus == .authorized {
//"authorized"
DispatchQueue.main.async {
UIApplication.shared.registerForRemoteNotifications()
}
} else {
//"not authorized")
}
}
}