【问题标题】:iOS 14 Widget cannot be updated from Notification Service ExtensioniOS 14 小部件无法从通知服务扩展更新
【发布时间】:2021-06-13 13:15:59
【问题描述】:

我有一个 iOS 应用程序 + 一个通知服务扩展 + 一个小部件。每当我在应用程序中更新 UserDefaults 中的某些内容(由小部件读取并调用 WidgetCenter.shared.reloadTimelines)时,小部件会立即更新。

如果我尝试使用 WidgetCenter.shared.reloadTimelines 从通知服务扩展更新小部件,它不起作用,并引发以下错误:

[widget] reloadTimelines(ofKind:) - remoteObjectProxy 错误:无法与帮助应用程序通信。

有人遇到过这个问题吗?非常感谢任何意见。

【问题讨论】:

  • 此外,如果我尝试从通知服务扩展调用“getCurrentConfigurations”,我会收到以下错误:[widget] getCurrentConfigurations(_:) - remoteObjectProxy 错误:无法与帮助应用程序通信.失败(错误域 = NSCocoaErrorDomain 代码 = 4099 “与名为 com.apple.chrono.widgetcenterconnection 的 pid 0 上的服务的连接已失效。” UserInfo={NSDebugDescription=与名为 com.apple.chrono.widgetcenterconnection 的 pid 0 上的服务的连接是无效。})

标签: widget swift5 xcode12 unnotificationserviceextension widgetcenter


【解决方案1】:

作为后续,我尝试在收到静默推送通知后立即从我的应用程序调用 WidgetCenter.shared.reloadTimelines,但如果应用程序未在前台运行,它不会更新小部件。

它似乎在再次启动应用程序后立即执行 WidgetCenter.shared.reloadTimelines,就好像它被某种方式阻止了一样。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-14
    • 2021-05-21
    • 1970-01-01
    • 2017-02-01
    • 2020-02-20
    • 1970-01-01
    相关资源
    最近更新 更多