RequestAuthorization用于在didFinishLaunchingWithOptions之外进行推送
对于我用于注册推送通知的ios 10:
在Xcode 8 / Swift 3.0中注册推送通知?
有没有办法在appdelegate和func应用程序(_ application:UIApplication,didFinishLaunchingWithOptions launchOptions:[NSObject:AnyObject]?)之外寻求requestAuthorization(选项:[。badge,.alert,.sound]?) - > Bool
我问的原因是因为我不想在用户使用该应用程序一段时间后显示推送通知的弹出窗口。 有任何想法吗?
就像@dan表示,不需要在AppDelegate
请求通知权限。 你可以在任何地方做到这一点。 这就是你可能为此所做的。
let center = UNUserNotificationCenter.current()
center.requestAuthorization(options: [.alert, .badge, .sound]) { (success, error) in
if error == nil {
if success == true {
print("Permission granted")
// In case you want to register for the remote notifications
let application = UIApplication.shared
application.registerForRemoteNotification
}
else {
print("Permission denied")
}
else {
print(error)
}
}
并记住
UserNotifications
框架。 AppDelegate
实现didRegisterForRemoteNotificationsWithDeviceToken
方法 上一篇: RequestAuthorization for push outside the didFinishLaunchingWithOptions
下一篇: iOS8: Are apps on the multitasking screen in background?