我遇到了一个奇怪的问题。当我使用以下代码在 didFinishLaunchingWithOptions 中请求远程通知授权时,我能够从我的服务器(Firebase 消息传递)获得推送远程通知,但是当我稍后尝试在NOT INSIDE didFinishLaunchingWithOptions中请求授权时,我不是能够得到任何通知。
我不想在发布时要求授权。例如,我想在用户登录后请求授权。
苹果文档说:
在安排任何本地通知之前以及向 Apple 推送通知服务注册之前,请始终调用此方法。通常,您在配置应用的通知支持时在启动时调用此方法。但是,您可以在应用程序生命周期中的其他时间调用它,前提是您在执行任何其他与通知相关的任务之前调用它。
// For iOS 10 display notification (sent via APNS)
UNUserNotificationCenter.current().delegate = self
let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound]
UNUserNotificationCenter.current().requestAuthorization(
options: authOptions,
completionHandler: {_, _ in })
UIApplication.shared.registerForRemoteNotifications()
对这个问题有什么建议/解决方案吗?
应用信息: 部署目标: iOS 10.3 iOS 设备: 带有 iOS 10 的 iPhone 6 / 带有 iOS 11 的 iPhone 7