<legend id='hhyfK'><style id='hhyfK'><dir id='hhyfK'><q id='hhyfK'></q></dir></style></legend>
      <bdo id='hhyfK'></bdo><ul id='hhyfK'></ul>

  1. <tfoot id='hhyfK'></tfoot>
  2. <i id='hhyfK'><tr id='hhyfK'><dt id='hhyfK'><q id='hhyfK'><span id='hhyfK'><b id='hhyfK'><form id='hhyfK'><ins id='hhyfK'></ins><ul id='hhyfK'></ul><sub id='hhyfK'></sub></form><legend id='hhyfK'></legend><bdo id='hhyfK'><pre id='hhyfK'><center id='hhyfK'></center></pre></bdo></b><th id='hhyfK'></th></span></q></dt></tr></i><div id='hhyfK'><tfoot id='hhyfK'></tfoot><dl id='hhyfK'><fieldset id='hhyfK'></fieldset></dl></div>

      <small id='hhyfK'></small><noframes id='hhyfK'>

    1. 轻按即可从 SwiftUI 小部件执行深层链接

      时间:2023-09-08
      <legend id='sTJg4'><style id='sTJg4'><dir id='sTJg4'><q id='sTJg4'></q></dir></style></legend>
          <tbody id='sTJg4'></tbody>

            <tfoot id='sTJg4'></tfoot>
              • <bdo id='sTJg4'></bdo><ul id='sTJg4'></ul>
                <i id='sTJg4'><tr id='sTJg4'><dt id='sTJg4'><q id='sTJg4'><span id='sTJg4'><b id='sTJg4'><form id='sTJg4'><ins id='sTJg4'></ins><ul id='sTJg4'></ul><sub id='sTJg4'></sub></form><legend id='sTJg4'></legend><bdo id='sTJg4'><pre id='sTJg4'><center id='sTJg4'></center></pre></bdo></b><th id='sTJg4'></th></span></q></dt></tr></i><div id='sTJg4'><tfoot id='sTJg4'></tfoot><dl id='sTJg4'><fieldset id='sTJg4'></fieldset></dl></div>

                <small id='sTJg4'></small><noframes id='sTJg4'>

                本文介绍了轻按即可从 SwiftUI 小部件执行深层链接的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                问题描述

                我有一个带有两个文本的简单小部件(中等大小),我想要的是能够执行深层链接以将用户引导到我的应用程序的特定部分,但我似乎找不到一种方法.

                I have a simple widget (medium-sized) with two texts, and what I want is to be able to perform a deep link to lead the user to a specific section of my app, but I can't seem to find a way to do so.

                我写的视图(很简单):

                The view I have written (which is very simple):

                HStack {
                    Text("FIRST ITEM")    
                    Spacer()
                    Text("SECOND ITEM")
                }
                

                我已经尝试替换

                Text("SECOND ITEM")
                

                Link("SECOND ITEM destination: URL(string: myDeeplinkUrl)!)
                

                但它也不起作用.

                推荐答案

                1. Widget视图中你需要创建一个Link并设置它的destination url:
                1. In the Widget view you need to create a Link and set its destination url:

                struct SimpleWidgetEntryView: View {
                    var entry: SimpleProvider.Entry
                
                    var body: some View {
                        Link(destination: URL(string: "widget://link1")!) {
                            Text("Link 1")
                        }
                    }
                }
                

                请注意,Link 仅适用于 mediumlarge 小部件.如果你使用 small Widget,你需要使用:

                Note that Link works in medium and large Widgets only. If you use a small Widget you need to use:

                .widgetURL(URL(string: "widget://link0")!)
                

                1. 在您的 App 视图中使用 onOpenURL 接收网址:
                1. In your App view receive the url using onOpenURL:

                @main
                struct WidgetTestApp: App {
                    var body: some Scene {
                        WindowGroup {
                            Text("Test")
                                .onOpenURL { url in
                                    print("Received deep link: (url)")
                                }
                        }
                    }
                }
                

                也可以通过覆盖在 SceneDelegate 中接收深层链接:

                It is also possible to receive deep links in the SceneDelegate by overriding:

                func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>)
                

                您可以在此线程中找到有关如何使用此功能的更多说明:

                You can find more explanation on how to use this function in this thread:

                • 检测来自 WidgetKit 小部件扩展的应用启动

                这是一个 GitHub 存储库,其中包含不同的 Widget 示例,包括 DeepLink Widget.

                Here is a GitHub repository with different Widget examples including the DeepLink Widget.

                这篇关于轻按即可从 SwiftUI 小部件执行深层链接的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                上一篇:Android:如何强制更新特定类型的所有小部件 下一篇:按下小部件ListView项目时Android开始活动

                相关文章

                  <i id='FO2Eu'><tr id='FO2Eu'><dt id='FO2Eu'><q id='FO2Eu'><span id='FO2Eu'><b id='FO2Eu'><form id='FO2Eu'><ins id='FO2Eu'></ins><ul id='FO2Eu'></ul><sub id='FO2Eu'></sub></form><legend id='FO2Eu'></legend><bdo id='FO2Eu'><pre id='FO2Eu'><center id='FO2Eu'></center></pre></bdo></b><th id='FO2Eu'></th></span></q></dt></tr></i><div id='FO2Eu'><tfoot id='FO2Eu'></tfoot><dl id='FO2Eu'><fieldset id='FO2Eu'></fieldset></dl></div>
                    <legend id='FO2Eu'><style id='FO2Eu'><dir id='FO2Eu'><q id='FO2Eu'></q></dir></style></legend>
                      <bdo id='FO2Eu'></bdo><ul id='FO2Eu'></ul>

                    <small id='FO2Eu'></small><noframes id='FO2Eu'>

                    <tfoot id='FO2Eu'></tfoot>