iOS 14 小部件:如何确保数据是最新的

问题描述

我有一个 SwiftUI 项目,我正在其中实现一个 iOS 14 小部件。

主应用程序使用 iCloud/CloudKit 来保存用户统计信息,小部件获取显示这些统计信息。

我担心的是小部件和主应用可能会不同步——小部件可能会显示过时统计信息。

场景如下:

问题:是否有处理这种情况的推荐策略——也许在主应用程序关闭时以某种方式更新小部件?我阅读了文档——特别是 the article“保持小部件最新”,但我没有看到任何关于此的内容

谢谢!

解决方法

据我所知,您可以使用以下代码request a widget refresh from your main app

WidgetCenter.shared.reloadTimelines(ofKind: "com.mygame.gamestatus")

这应该可以解决问题。