美文网首页
判断手机用户是否添加小组件

判断手机用户是否添加小组件

作者: zhengxiaolang | 来源:发表于2022-07-26 10:47 被阅读0次

    背景

    最近公司要求给项目添加小组件功能,发现需求有个细节:根据用户是否添加小组件,做引导功能

    主要内容

    寻寻觅觅,终于找到该方法

    WidgetCenter.shared.getCurrentConfigurations 
    返回的是闭包:(Result<[WidgetInfo], Error>) -> Void)
    

    通过遍历数组[WidgetInfo],筛选出是否有我们想要的widget,便可以判断是否有添加
    详见以下代码

    /// 判断widget是否存在
        static func isWidgetExist(complete: @escaping (_ exist: Bool) -> Void) {
            if #available(iOS 14.0, *) {
                WidgetCenter.shared.getCurrentConfigurations { result in
                    var exist = false
                    defer {
                        complete(exist)
                    }
                    guard case .success(let widgets) = result else {
                        return
                    }
                    let currentWidget = widgets.first( where: { widget in
                        print(widget.kind)
                        var kind = "mywidget" //widget的唯一id
                        return widget.kind == kind
                    })
                    if currentWidget != nil {
                        exist = true
                    }
                }
            } else {
                complete(false)
            }
        }
    

    相关文章

      网友评论

          本文标题:判断手机用户是否添加小组件

          本文链接:https://www.haomeiwen.com/subject/uvfzirtx.html