74

iOS 上的 iTunes、App Store 和 YouTube 清楚地注册了 http://... URL 方案来打开他们的应用程序。

任何人都可以做到这一点,而不仅仅是您自己的协议?

我想这样做的原因是我正在为一个节日开发一个应用程序。我想“拦截”网站上特定页面的链接并启动应用程序(如果已安装)。

到目前为止,我没有太多的运气

4

5 回答 5

61

您可以为“http://” URL(以及我认为 Apple 和 Spotify 所做的)执行此操作的方式是:

  1. 注册一个自定义 URL 方案,如其他答案所示

  2. 将您的 HTTP URL 设置为指向真实网页。

  3. 如果在 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>

在这里试试:http ://bl.ocks.org/d/3153819/?mckamey

于 2012-07-20T23:29:37.227 回答
47

iOS 9 支持Universal Links,它允许 iOS 启动基于标准http://URL(基于主机名)的应用程序,而无需用户通过 Safari。

它需要一些网络服务器配置(您需要一个网站),但是一旦设置,注册的应用程序将打开链接而不是 Safari。

对于没有 iOS 9 的用户,您可以使用Smart Banners来简化体验。

于 2016-03-15T18:32:33.450 回答
4

不幸的是,我认为你做不到。您可以注册自己的自定义方案,例如 yourFestival:// 并将来自外部世界(SMS、电子邮件、其他应用程序)的数据传递到您的应用程序。

我在这里写了一篇关于此的博客文章:使用自定义方案和在 iOS 应用程序之间传递数据。

我希望这有帮助。

于 2011-08-17T17:40:21.003 回答
2

不可以,您只能注册自定义方案。

我也看不到苹果这样做……

于 2010-12-09T23:06:26.740 回答
1

这个问题很老了,但是自从几年后我现在遇到这个页面以来,在搜索同一问题的答案时,我将添加关于如何做到这一点的答案:

使用通用链接。首先在 developer.apple.com 中启用“Associated Domains”或您的 App ID。然后在 Xcode 中将您的域添加为 applink(选择 Target->Signing & Capabilities->Associated Domains),然后在您的网站上创建一个apple-app-site-association文件。

细节在这里解释。

于 2020-11-03T14:54:17.197 回答