可以在iOS中处理自己的http URLscheme?

iOS上的iTunes,App Store和YouTube明确注册了http:// … URLscheme以打开他们的应用程序。

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

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

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

你可以这样做“http://”url(以及我认为苹果和Spotify做的)的方式是:

  1. 注册一个像其他答案显示的自定义URLscheme。

  2. 设置你的HTTP URL来指向一个真实的网页。

  3. 如果在iOS上,则将该页面上的脚本redirect到您的自定义URL。

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

iOS 9支持通用链接 ,允许iOS基于标准http:// URL(基于主机名)启动应用程序,而无需用户通过Safari浏览器。

它需要一些Web服务器configuration(你需要一个网站),但一旦安装,注册的应用程序将打开链接,而不是Safari。

对于没有iOS 9的用户,可以使用智能横幅来减轻体验。

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

我在这里写了一篇博客文章: 使用自定义scheme并在iOS应用程序之间传递数据。

我希望这有帮助。

不,您只能注册自定义scheme。

我也看不到苹果在做这个事情