我在尝试从我的网络应用程序(支持apple-mobile-web-app)调用我的原生iOS应用程序时遇到了一些麻烦。每当我在Safari中按下按钮以使用自定义网址方案打开我的应用程序时,该工作正常。
然而,当我将它添加到主屏幕时,我遇到了错误:无法显示URL。重定向到http或https工作正常,但如果我调用mysupercustomurlscheme://我收到上面的错误消息。
我试过通过document.location.href,window.location等打开它,但似乎没有什么可以解决问题而且我的想法已经用完了。
如果有人有任何想法,我会非常感激听到他们。
提前致谢!
答案 0 :(得分:1)
好吧,这是一种有点笨拙的方法,但它有效,可能会帮助一些可怜的灵魂试图达到同样的目的。
首先,创建一个简单的HTML链接,显然,常规HTML链接在Mobile Safari中打开,而不是在Web应用程序的全屏视图中打开。 链路
在redirect.html中,您只需使用一些简单的javascript重定向用户即可。 window.location =“mysupercustomurlscheme://”
就是这样!它当然不是最好的方法,但它“相当”无缝。这就是我至少想出来的,如果你有任何其他建议,请告诉我。
希望这有助于某人!
答案 1 :(得分:0)
只是想发布一个Tobias引用的例子。您需要在服务器上托管并链接到电子邮件,社交媒体等。只需在您的应用的URI 和您的App Store链接中替换即可。请注意,iframe适用于更多浏览器。
<!DOCTYPE html>
<html>
<body>
<script type="text/javascript">
window.onload = function() {
// Deep link to your app goes here
document.getElementById("l").src = "my_app://";
setTimeout(function() {
// Link to the App Store should go here -- only fires if deep link fails
window.location = "https://itunes.apple.com/us/app/my.app/id123456789?ls=1&mt=8";
}, 500);
};
</script>
<iframe id="l" width="1" height="1" style="visibility:hidden"></iframe>
</body>
</html>
因此,如果用户安装了您的应用程序,则带有URI的链接将成功,您将在浏览器存在之前触发重定向到App Store的脚本。如果用户没有您的应用程序,则重定向成功(在简短的丑陋错误消息之后)。我是Branch的开发人员,我们使用此功能,因此请随时与实施中的问题联系。