作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
对于 ios 10,我用它来注册推送通知:
Registering for Push Notifications in Xcode 8/Swift 3.0?
有没有办法在 appdelegate 和 func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) 之外请求 requestAuthorization(options:[.badge, .alert, .sound])? > bool
我问的原因是因为我不想在用户使用该应用程序一段时间后显示推送通知的弹出窗口。有什么想法吗?
最佳答案
就像@dan 所说的那样,没有必要在AppDelegate
中请求通知权限。你可以在任何你想做的地方做。这就是您可能为此所做的。
let center = UNUserNotificationCenter.current()
center.requestAuthorization(options: [.alert, .badge, .sound]) { (success, error) in
if error == nil {
if success {
print("Permission granted")
// In case you want to register for the remote notifications
let application = UIApplication.shared
application.registerForRemoteNotifications()
} else {
print("Permission denied")
}
} else {
print(error)
}
}
并记住
UserNotifications
框架。AppDelegate
中实现 didRegisterForRemoteNotificationsWithDeviceToken
方法关于ios - RequestAuthorization 用于推送到 didFinishLaunchingWithOptions 之外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40409397/
我是一名优秀的程序员,十分优秀!