解散时未调用 UNNotificationCenterDelegate

Posted

技术标签:

【中文标题】解散时未调用 UNNotificationCenterDelegate【英文标题】:UNNotificationCenterDelegate not called when dismissing 【发布时间】:2018-04-12 10:23:23 【问题描述】:

我有一个 AppleWatch 应用程序,它接收远程通知。在处理我的自定义操作“a1”和默认操作时,我在notificationCenter(_:didRecieve response:...) 上收到回调。但是,自定义关闭操作不会调用此函数...

class ExtensionDelegate: NSObject, WKExtensionDelegate, UNUserNotificationCenterDelegate 

    func applicationDidFinishLaunching() 
        // Perform any final initialization of your application.
        UNUserNotificationCenter.current().delegate = self
        UNUserNotificationCenter.current().requestAuthorization(options: [UNAuthorizationOptions.alert, UNAuthorizationOptions.sound])  (success, err) in

        
        let a1 = UNNotificationAction(identifier: "a1", title: "Do Stuff", options: .foreground)
        let c1 = UNNotificationCategory(identifier: "c1", actions: [a1], intentIdentifiers: [], options: .customDismissAction)
        UNUserNotificationCenter.current().setNotificationCategories([c1])

            
    

    func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) 
            print("Action Identifier: \(response.actionIdentifier)"
            completionHandler()
    

所以我的代表似乎也可以工作,类别也...我错过了什么?

【问题讨论】:

【参考方案1】:

已修复:如果您在 Watch 上运行您的应用并关闭它,则会调用 iOS 应用的 UNUserNotificationCenterDelegatenotificationCenter(_:didRecieve response:...)(在我的情况下为 AppDelegate)! 可能是因为当您在手表上关闭它时,它会在任何地方被关闭......

虽然没有找到任何资源.. 如果你找到了, 请分享链接:)

【讨论】:

以上是关于解散时未调用 UNNotificationCenterDelegate的主要内容,如果未能解决你的问题,请参考以下文章

调用 popToRootViewControllerAnimated 时未调用 viewWillDisappear

触摸时未调用 didSelectRowAtIndexPath

关闭时未调用 Alamofire 请求

启动相机意图时未调用 onActivityResult?

使用“事件”调用类型时未调用 AWS Lambda

启动组件时未调用@Activate