5

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

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

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

即我在屏幕上有 2 个小部件,而WidgetCenter声称我有 9 个当前配置。任何更好的想法如何计算小部件?

在此处输入图像描述

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

4

3 回答 3

4

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

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

于 2020-10-25T15:32:10.440 回答
1

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

于 2020-09-16T18:22:03.057 回答
0

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

也许只是重新启动会清除该信息?

于 2020-09-16T17:16:58.223 回答