按应用ID启动iOS应用?

时间:2012-08-15 20:18:29

标签: ios

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

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

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

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

1 个答案:

答案 0 :(得分:3)

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

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

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

<meta name="apple-itunes-app" content="app-id=#########"/></code>

如果您想将更多参数传递给通话,请在您的应用中执行更具体的操作,只需将其打开即可使用:

<meta name="apple-itunes-app" content="app-id=#########, foo=xxxxxx&bar=yyyyyyy"/>

然后在你的app委托中处理回调网址:

-(BOOL)application:(UIApplication*)application
        openURL:(NSURL*)url
        sourceApplication:(NSString*)sourceApplication
        annotation:(id)annotation