可以在iOS中处理自己的http URLscheme?
iOS上的iTunes,App Store和YouTube明确注册了http:// … URLscheme以打开他们的应用程序。
任何人都可以这样做,而不仅仅是你自己的协议?
我想这样做的原因是我正在为一个节日的应用程序工作。 我想要“拦截”指向网站上特定页面的链接,并启动应用程序(如果已安装)。
到目前为止,我没有太多的运气
你可以这样做“http://”url(以及我认为苹果和Spotify做的)的方式是:
-
注册一个像其他答案显示的自定义URLscheme。
-
设置你的HTTP URL来指向一个真实的网页。
-
如果在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。
我也看不到苹果在做这个事情