iOS 10 自定义 URL 方案不再有效

Posted

技术标签:

【中文标题】iOS 10 自定义 URL 方案不再有效【英文标题】:iOS 10 Custom URL Scheme no longer working 【发布时间】:2017-02-21 01:23:02 【问题描述】:

我有一个设置了自定义 URL 方案的应用程序,并将 URL 添加到 Info.plist 中的 LSApplicationQueriesSchemes 数组中。

如果我直接进入设备或模拟器上的 Safari 并点击 myapp://,那么应用程序将打开。但是,我有一个带有调用 response.redirect("myapp://") 的 servlet 的外部托管网站,当调用它时,应用程序不会打开。

servlet 重定向适用于 ios 9 及更低版本。 iOS 10 中发生了什么变化,所以这个调用不再有效?

奇怪的是,如果我在设备上的 Safari 中手动输入 URL,它可以正常工作。但是在设备上的 Safari 中访问我的网站并单击调用 response.redirect 的按钮不起作用。我对此完全感到困惑。

【问题讨论】:

您找到解决方案了吗?如果是,请在此处添加。 【参考方案1】:

我实际上必须通过更改发送重定向的 servlet 的工作方式来解决这个问题。它仅在您单击链接并现在从 html 页面重定向时才有效。在 iOS 10 之前,我让它工作,以便您单击一个提交表单的按钮并从 servlet 发生重定向。更改该 servlet 的逻辑和结构,我现在有一个直接的 href 链接,它调用回调 URL,并且可以正常工作。因此,iOS 中没有任何修复 - 我仍然不确定发生了什么变化,大概是在 Safari 中,以打破这一点,但你去了。

【讨论】:

以上是关于iOS 10 自定义 URL 方案不再有效的主要内容,如果未能解决你的问题,请参考以下文章

在 QML 中获取自定义 iOS 方案的源 URL 的最佳方法

为 iOS 应用程序定义 SSL 自定义 URL 方案

自定义 URL 方案错误:此应用不允许查询方案

RestKit 自定义序列化

自定义 URL 在模拟器中有效,但在设备上无效

当 url 有标签和问号时,注册自定义 URI 方案在 Windows 7 上不起作用