首页 > 解决方案 > 未调用 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)
}

标签: ios

解决方案


作为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
    }

}

推荐阅读