Possible to handle your own http URL schemes in iOS?

点点圈 提交于 2019-12-17 07:04:45

问题


iTunes, App Store and YouTube on iOS clearly register http://... URL schemes to open their apps.

Can anyone do that, not just your own protocol?

The reason I want to do this is that I am working on an app for a festival. I want to "intercept" links to specific pages on the website and launch the app instead, if installed.

So far I have no had much luck


回答1:


The way you can do this for "http://" URLs (and what I think Apple and Spotify do) this is to:

  1. Register a custom URL scheme like the other answers have shown.

  2. Set up your HTTP URL to point to a real webpage.

  3. Put a script on that page to redirect to your custom URL if is on iOS.

For example, here is a sample page which will take you to the Twitter app for a particular user or the Twitter website depending upon if you are on the web or on your iOS device:

<!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>

Try it out here: http://bl.ocks.org/d/3153819/?mckamey




回答2:


iOS 9 supports Universal Links, which allows iOS to launch an app based on a standard http:// URL (based on the hostname) without the user having to go through Safari.

It requires some web server configuration (you need a website), but once setup, the registered app will open the link instead of Safari.

For the users that don't have iOS 9, you can use Smart Banners to ease the experience.




回答3:


Unfortunately I don't think you can do that. You can register your own custom scheme e.g yourFestival:// and pass data from the outside world (SMS , email , other apps) to your app.

I wrote a blog post about this here : Using custom schemes and passing data between iOS apps.

I hope this helps.




回答4:


No, you can only register custom schemes.

And I cannot see Apple doing this, either...



来源:https://stackoverflow.com/questions/4403992/possible-to-handle-your-own-http-url-schemes-in-ios

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!