WidgetKit getCurrentConfigurations返回错误的小部件配置列表

问题描述

添加了具有配置意图的窗口小部件扩展。 出于日志记录的目的,我尝试记录该应用程序用户拥有的小部件的数量

 WidgetCenter.shared.getCurrentConfigurations { results in
     guard let widgets = try? results.get() else { return }
     ..<log widgets.count>...
 }

令我惊讶的是,我没有使用活动的[WidgetInfo],而是获得了所有小部件中曾经使用过的所有配置意图的完整列表,而不是实际的。

即屏幕上有2个小部件,WidgetCenter声称我有9种当前配置。有什么更好的主意如何计算小部件?

enter image description here

iOS 14 Beta 8(包括iPhone和模拟器)和Xcode 12 Beta 6

解决方法

显然,iOS缓存了曾经为应用创建的所有小部件的配置,并在iOS启动时重新创建了配置缓存。

因此,如果您确实希望函数getCurrentConfigurations返回 当前 配置,请首先重新启动设备。

,

我们也在尝试做类似的事情,并且遇到了类似的问题。我认为问题是该设备保留了所安装的每个小部件配置(这很奇怪,IMO并没有帮助)。清除所有内容和设置后,小部件信息将重置为0。

也许仅重启即可清除该信息?

,

似乎是Beta版问题,已通过GA发行版解决。需要观察更多,但是在今天的Xcode构建中,我看到了相关的数字。