如何从通知响应中重新加载 iOS 14 小部件的时间线?

Sar*_*esh 14 ios swift widgetkit swiftui ios14

我正在使用新的 WidgetKit 为 iOS 14 制作一个主屏幕小部件,我希望我的小部件时间线在用户响应通知时刷新。

这是我的代码目前的样子:

func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
        
    if response.actionIdentifier == "actionIdentifier" {        
        print("notification response received")
        WidgetCenter.shared.reloadAllTimelines()
    }

    completionHandler()
}
Run Code Online (Sandbox Code Playgroud)

但是当用户响应通知时,我的小部件不会更新。打印语句被打印,所以我知道我的应用程序正在接收响应。当我调用reloadAllTimeLines()应用程序中的任何其他地方时,小部件也会刷新,因此我确定我的小部件扩展已正确实现。但在上述情况下它不会更新。

这是一个错误还是我做错了什么?或者还有另一种方法可以在用户响应通知后重新加载小部件时间线。

Sar*_*esh 10

这似乎已在 iOS 14 beta 2 中修复。现在,当从通知响应中调用 refreshAllTimelines() 时,小部件会正确更新。