iOS 上的 iTunes、App Store 和 YouTube 清楚地注册了 http://... URL 方案来打开他们的应用程序。
任何人都可以做到这一点,而不仅仅是您自己的协议?
我想这样做的原因是我正在为一个节日开发一个应用程序。我想“拦截”网站上特定页面的链接并启动应用程序(如果已安装)。
到目前为止,我没有太多的运气
iOS 上的 iTunes、App Store 和 YouTube 清楚地注册了 http://... URL 方案来打开他们的应用程序。
任何人都可以做到这一点,而不仅仅是您自己的协议?
我想这样做的原因是我正在为一个节日开发一个应用程序。我想“拦截”网站上特定页面的链接并启动应用程序(如果已安装)。
到目前为止,我没有太多的运气
您可以为“http://” URL(以及我认为 Apple 和 Spotify 所做的)执行此操作的方式是:
注册一个自定义 URL 方案,如其他答案所示。
将您的 HTTP URL 设置为指向真实网页。
如果在 iOS 上,则在该页面上放置一个脚本以重定向到您的自定义 URL。
例如,下面是一个示例页面,它将带您到特定用户的 Twitter 应用程序或 Twitter 网站,具体取决于您是在 Web 上还是在您的 iOS 设备上:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Twitter</title>
</head>
<body>
<script type="text/javascript">
var username = document.location.search.substr(1);
document.location.replace(
"standalone" in window.navigator ?
'twitter:@'+username : // iOS
'http://twitter.com/'+username); // others
</script>
</body>
</html>
iOS 9 支持Universal Links,它允许 iOS 启动基于标准http://
URL(基于主机名)的应用程序,而无需用户通过 Safari。
它需要一些网络服务器配置(您需要一个网站),但是一旦设置,注册的应用程序将打开链接而不是 Safari。
对于没有 iOS 9 的用户,您可以使用Smart Banners来简化体验。
不幸的是,我认为你做不到。您可以注册自己的自定义方案,例如 yourFestival:// 并将来自外部世界(SMS、电子邮件、其他应用程序)的数据传递到您的应用程序。
我在这里写了一篇关于此的博客文章:使用自定义方案和在 iOS 应用程序之间传递数据。
我希望这有帮助。
不可以,您只能注册自定义方案。
我也看不到苹果这样做……
这个问题很老了,但是自从几年后我现在遇到这个页面以来,在搜索同一问题的答案时,我将添加关于如何做到这一点的答案:
使用通用链接。首先在 developer.apple.com 中启用“Associated Domains”或您的 App ID。然后在 Xcode 中将您的域添加为 applink(选择 Target->Signing & Capabilities->Associated Domains),然后在您的网站上创建一个apple-app-site-association文件。
细节在这里解释。