我正在使用新的 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()
}
但是当用户响应通知时,我的小部件没有更新。打印语句被打印,所以我知道我的应用程序正在接收响应。当我reloadAllTimeLines()
在我的应用程序中调用其他任何地方时,小部件也会刷新,因此我确信我的小部件扩展已正确实现。但在上述情况下它没有更新。
这是一个错误还是我做错了什么?或者是否有另一种方法可以在用户响应通知后重新加载小部件时间线。