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

iOS 10 Custom URL Scheme no longer working

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

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

servlet 重定向适用于 iOS 9 及以下版本。 iOS 10 中发生了什么变化,导致此调用不再有效?

奇怪的是,如果我在设备上的 Safari 中手动输入 URL,它工作正常。但是在设备上的 Safari 中访问我的网站并单击调用 response.redirect 的按钮不起作用。我完全被这个搞糊涂了。

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