ios - 未调用 userNotificationCenter(_:didReceive:withCompletionHandler:)
问题描述
该应用程序已关闭。我点击远程通知横幅以启动应用程序,userNotificationCenter(_:didReceive:withCompletionHandler:)
应该调用该方法。
我的应用程序在构建版本上正常工作,但在 TestFlight 版本上失败。
我该如何解决这种情况?
func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
let userInfo = response.notification.request.content.userInfo
printD(userInfo)
}
解决方案
作为Apple Document关于userNotificationCenter(_:didReceive:withCompletionHandler:)
询问代理如何处理在应用程序在前台运行时到达的通知。
所以当应用程序关闭时,您的应用程序没有调用userNotificationCenter函数
在这种情况下,尝试通过以下代码捕获通知:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey : Any]? = nil) -> Bool {
if launchOptions?[UIApplicationLaunchOptionsKey.remoteNotification] != nil {
// Do your task here
}
}
推荐阅读
- javascript - 如何在数组中找到第一个重复项?
- javascript - 检查另一层时,通过在控制层中解开一层来删除传单层
- list - 如何在 Dart 中实例化具有默认可修改列表字段的对象
- amazon-web-services - 使用变量创建资源
- python - 存储python类实例以迭代和处理,但每个会话保持实例分开
- c - __asm __volatile 如何执行?
- javascript - 使用 Excel Javascript API 创建一个 .txt 文件
- python - Django将带有值的extablished列更改为ForeignKey
- c++ - Clang 链接问题
- javascript - 反应,从选择选项中设置状态