按应用ID启动iOS应用?

jay*_*net 6 ios

使用iOS 5及其后,要从另一个iOS应用程序启动一个iOS应用程序,您使用openUrl以及自定义方案/协议.(如果没有自定义方案,就无法启动应用程序,如果有两个应用程序具有相同的方案/协议,那么关于哪个应用程序将启动它是不确定的)

使用iOS 6,可以从safari(通过智能应用程序横幅)和siri启动应用程序.智能应用横幅将通过app id启动,未知如何通过siri发布.

是"通过应用ID启动应用"是公共/支持的api呼叫吗?这可以用于从另一个自定义应用程序启动一个自定义应用程序?

(如果是这样,这可以解决启动没有支持方案/协议的现有应用程序+解决两个app-with-same-scheme问题的问题)

ces*_*fry 3

该过程称为:智能应用横幅。

大卫·史密斯写了一篇关于他们的非常令人筋疲力尽的文章。 http://david-smith.org/blog/2012/09/20/implementing-smart-app-banners/

基本上,您只需将此元标记添加到您的网站页面(其中 ####### 是您的应用程序 ID):

<meta name="apple-itunes-app" content="app-id=#########"/></code>
Run Code Online (Sandbox Code Playgroud)

如果您想向调用传递更多参数,可以说在您的应用程序中执行一些更具体的操作,只需打开它即可使用:

<meta name="apple-itunes-app" content="app-id=#########, foo=xxxxxx&bar=yyyyyyy"/>
Run Code Online (Sandbox Code Playgroud)

然后在您的应用程序委托中处理回调 url:

-(BOOL)application:(UIApplication*)application
        openURL:(NSURL*)url
        sourceApplication:(NSString*)sourceApplication
        annotation:(id)annotation
Run Code Online (Sandbox Code Playgroud)