首页 文章

可以在iOS中处理自己的http URL方案吗?

提问于
浏览
65

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

任何人都可以这样做,而不仅仅是你自己的协议?

我想这样做的原因是我正在为一个节日制作应用程序 . 我希望“截取”指向网站上特定页面的链接,然后启动应用程序(如果已安装) .

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

4 回答

  • 61

    对于“http://”URL(以及我认为Apple和Spotify所做的)这样做的方法是:

    • 注册自定义URL方案like the other answers have shown .

    • 设置HTTP URL以指向真实网页 .

    • 如果在iOS上,则在该页面上放置一个脚本以重定向到您的自定义URL .

    例如,这是一个示例页面,它将带您进入特定用户或Twitter网站的Twitter应用程序,具体取决于您是在网络上还是在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

  • 39

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

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

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

  • 4

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

    我在这里写了一篇博文:Using custom schemes and passing data between iOS apps.

    我希望这有帮助 .

  • 1

    不,您只能注册自定义方案 .

    我无法看到苹果这样做,或者......

相关问题