微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

App关闭时来自Widget的iOS深层链接?

如何解决App关闭时来自Widget的iOS深层链接?

我的小部件有几个链接用户可以点击,链接设置如下:

Link(destination: URL(string: "widget://start")!)

现在我可以使用以下功能检测场景委托中的新闻:

    func scene(_ scene: UIScene,openURLContexts URLContexts: Set<UIOpenURLContext>) {
    if let item = URLContexts.first {
        UserDefaults.standard.set(item.url.absoluteString,forKey: "URL")
        print(item.url)
        print(URLContexts)
    }
}

但是,当应用程序关闭时,这不起作用。我试着把这段代码放在任何地方,场景委托,应用程序委托,但我找不到关于如何在应用程序关闭时检测点击的解决方案。 有没有办法做到这一点?

解决方法

添加这个

  func scene(_ scene: UIScene,willConnectTo session: UISceneSession,options connectionOptions: UIScene.ConnectionOptions) {
        
        guard let _ = (scene as? UIWindowScene) else { return }
        
        DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
            if let item = connectionOptions.urlContexts.first {
                UserDefaults.standard.set(item.url.absoluteString,forKey: "URL")
                print(item.url)
                print(URLContexts)
            }
        }
    }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。