我想打开我的iOS应用程序,类似于如何在Android上完成,即使用特定的网址而不是自定义URL协议。
这就是它在Android上的运作方式。 Reddit很有趣应用就是一个很好的例子:
我一直试图在Apple iOS URL Schemes上找到参考资料,但到目前为止我发现的所有内容都表明您需要拥有自定义URL协议,并且您无法使用http://。你必须使用像reddit://'这样的东西。
将实际网址指定为URL方案的好处在于,如果您没有Reddit是Fun应用程序,浏览器会自动打开页面,这将是一个很好的后备。如果您使用iOS中的自定义URL协议,如果您的设备未安装该应用,则无法回退。没有迹象表明它失败了。没有迹象表明它试图做任何事情。
有没有人知道以这种方式打开应用程序的方法?例如,点击&{39; http://reddit.com/'是否可以打开reddit应用。链路?
编辑:我发现非常有趣的是iOS已经supports this to some extent with YouTube links。
编辑:看起来似乎无法在iOS上完全按照我的意愿行事。但是,this post对如何做有一些很好的建议。我希望自2009年以来情况会有所改变。
答案 0 :(得分:5)
现在可以在ios上启用它们所谓的“Universal Links”: https://developer.apple.com/library/ios/documentation/General/Conceptual/AppSearch/UniversalLinks.html
如果你的源是基于html的,有一个Cordova插件可以支持这个: https://github.com/nordnet/cordova-universal-links-plugin#android-web-integration
答案 1 :(得分:1)
您发现的内容是正确的,只能通过自定义方案完成。
答案 2 :(得分:1)
让我告诉你如何在iOS上实现大多数应用程序,我希望'Reddit也很有趣'。
Http链接会通过调用与您的应用相关联的自定义网址,将您重定向到检查您的iOS应用是否已安装的网页。
如果它返回失败,则加载网页,否则应用程序将以特定视图启动。
我希望这就是你要找的东西。
答案 3 :(得分:1)
您实际上可以执行此操作,但它需要您在服务器上托管要链接到的每个reddit文章的页面。我们在Branch自行构建了动态版本,这样我们就不必每次都手动创建页面,而且我们也会检测iOS与Android。但是,对于手动创建页面,步骤如下:
如果您要发送链接到http://reddit.com/r/example的电子邮件,则需要创建一个页面并将其托管在您的服务器上(例如http://yourapp.com/hosted-links/r/example)。它应该是这样的:
<!DOCTYPE html>
<html>
<body>
<script type="text/javascript">
window.onload = function() {
// Deep link to your app goes here
document.getElementById("l").src = "reddit://r/example";
setTimeout(function() {
// Link to the App Store should go here -- only fires if deep link fails
window.location = "http://reddit.com/r/example";
}, 500);
};
</script>
<iframe id="l" width="1" height="1" style="visibility:hidden"></iframe>
</body>
</html>
现在您可以链接到您的服务器http://yourapp.com/hosted-links/r/example,无论用户是否拥有该应用,它都会在iOS上正常打开。