确定应用程序的iOS 14小部件是否放置在主屏幕上 - Swift

4

有没有办法确定用户是否正在使用您的应用程序中的小部件以及使用了多少个小部件?

我尝试使用:

WidgetCenter.shared.getCurrentConfigurations { result in
    switch result {
        case let .success(info):
            let myWidgetCount = info.count
            print(myWidgetCount)
        case let .failure(error): print(error)
    }
}

但它离正确结果差得太远了。它给我的结果比它应该给的多得多。

编辑:它包括我添加后又删除的所有内容。有没有办法只获取当前放置在主屏幕或小部件区域中的内容?


我发现如果没有安装小部件,小部件计数从4开始。可能有3个来自小部件选择屏幕...不确定多余的一个来自哪里。你有同样的发现吗? - chopsalot
1
发现重新启动设备可以解决这个问题,小部件计数为0,没有安装任何小部件。 - chopsalot
2个回答

5

结果发现这是模拟器的问题,在实体设备上,它不包括已移除的小部件。


0
我使用的设备是iOS 14.4,并通过Xcode 14.2构建;我发现getCurrentConfigurations回调返回的列表中包含了我添加过后又删除的所有配置。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接