菜鸟教程小白 发表于 2022-12-13 16:25:16

iOS 9 通用链接转发按钮永远中断深度链接,直到我删除手机设置


                                            <p><p><strong><em>在有人将此问题标记为重复之前</em></strong><em>请阅读底部的额外部分,该部分指出了该问题与其他类似问题之间的差异</em> em></p>

<p>我正在使用通用链接来满足我的深层链接需求。两个示例用例是:</p>

<p>1.) 安装了我的应用程序的 iPhone 上的 Safari/Chrome 浏览器:当在他们的 iPhone 上点击我的网站上的链接时,如果他们的手机上安装了我的应用程序,我会将它们深层链接到我的应用程序中。<br/>
2.) 安装我的应用程序后,运行我的应用程序但使用应用内 UIWebView。我的应用程序还有一个应用程序内 UIWebView,当您点击一个按钮时,它会将它们深层链接到应用程序的某个位置。 </p>

<p>深度链接到应用程序后,导航栏中有两个按钮。后退按钮(左上)和前进按钮(右上)。 </p>

<p><strong>我的问题</strong></p>

<p>如果用户按下前进按钮(右上角),它会将它们转发到我的网页,然后将永远破坏我的深层链接,因此在未来任何时候,当用户点击该链接到深层链接时,它总是会转到我的网页,而不是深度链接到应用程序(这是最初的意图)。我怎样才能防止这种情况?我在这里担心的是我的应用在右上角有关闭按钮,如果用户试图点击关闭按钮,他们可能会不小心点击前进按钮并永远中断深度链接。我试过清除我的浏览器缓存,我试过删除并重新安装我的应用程序。但是在被前进按钮永久禁用后,没有什么可以“修复”深层链接。我可以让它再次工作的唯一方法是进行完整的设备重置并删除所有内容和设置。 </p>

<p>这是深度链接到应用程序后后退和前进按钮的图像。<br/>
<a href="/image/Rgduc.png" rel="noreferrer noopener nofollow"><img src="/image/Rgduc.png" alt=""/></a> </p>

<p><strong>我的问题与关于 SO 的类似问题的区别:</strong></p>

<p> <a href="https://stackoverflow.com/questions/32729489/how-can-i-reset-ios-9-universal-linking-settings" rel="noreferrer noopener nofollow">Similar SO question</a>但是在这里他们说用户可以长按“通用链接”,然后会弹出操作表,要求您“打开”。对于上述情况 1,我已经尝试过此操作。)并且我的应用程序未显示在选项中。请参阅下面的附加屏幕截图。对于上述情况2,这根本不起作用。)。如何获得通用链接以使用 iOS WebViewController?我必须使用 SafariViewController 吗?对于这种情况,我不想在我的应用程序中使用 SafariViewController,因为我不想拥有 SafariViewController 拥有的顶部导航栏。 </p>

<p> <a href="/image/dv4Tj.png" rel="noreferrer noopener nofollow"><img src="/image/dv4Tj.png" alt="enter image description here"/></a> </p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>你说得对:前进按钮是<em>可怕的</em> UI/UX。这是 <a href="https://blog.branch.io/apples-universal-links-a-testament-to-untested-software" rel="noreferrer noopener nofollow">this blog post</a> 中确定的通用链接的一大缺陷。 .没有办法禁用前进按钮,一旦触发,你就完蛋了。</p>

<p>在关闭后重新启用通用链接行为的最简单方法是长按链接。但是,如果您的链接被系统基于其他一些标准禁用(下面有更多详细信息),这将不起作用。最好的办法是将通用链接 URL 粘贴到股票 Notes 应用程序中,然后尝试从那里长按它。</p>

<p>回答您的其他几个问题:</p>

<ul>
<li>通用链接<strong>做</strong>在 <code>UIWebView</code> (<a href="https://developer.apple.com/library/ios/documentation/General/Conceptual/AppSearch/UniversalLinks.html" rel="noreferrer noopener nofollow">per Apple&#39;s docs</a>) 中工作。 <code>SafariViewController</code> 不是必需的。</li>
<li>在某些情况下,通用链接在系统级别被禁用。有一个列表<a href="https://dev.branch.io/getting-started/universal-app-links/support/ios/#appsbrowsers-that-support-universal-links" rel="noreferrer noopener nofollow">here</a> ,但这是我想到的可能适用于这种情况的主要方法:</li>
</ul>

<blockquote>
<p>Universal Links will not work with a user drivenelement click on the same domain. Example: if there is a Universal Link on google.com pointing to a different Universal Link on google.com, it will not open the app.</p>
</blockquote>

<ul>
<li>您的第二张示例图片来自 Chrome。通用链接应该(有条件地)在 Chrome 中工作,但链接是否指向与您已经加载的页面相同的域?如果是这样,这就是您没有看到 <code>Open in </code> 选项的原因。</li>
</ul></p>
                                   
                                                <p style="font-size: 20px;">关于iOS 9 通用链接转发按钮永远中断深度链接,直到我删除手机设置,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/37171239/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/37171239/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iOS 9 通用链接转发按钮永远中断深度链接,直到我删除手机设置