在一个app中启动另外的app,这个应用很常见,实现也是很简单的,只需要注册一个URL,然后通过UIApplication的 openURL就可以实现了:
比如 A 启动 B
一、在 B(被启动的app) 中注册URL:
1、找到info.plist并打开,点击Information property list 右边的加号新建一个项,新项的名字改选择URL types,它是一个数组类型,点击其下面的item 0,将下面的URL identifer的值命名为com.company.appName 也就是反域名。
2、点击上面URL identifier右边的加号,新建一个项,名字选择URL Schedules,里面的item 0, 命名一般为appName
至此,在B中的设置完成了, 付个简图:
二、在A(启动别的app),通过openURL启动其他的app
这个就比较简单了,只需要:
NSURL *appUrl = [NSURLURLWithString:@"FRC://"]; //这里的参数(FRC则这里是FRC://)对应URL Schemes item0的值
if ([[UIApplicationsharedApplication] canOpenURL:appUrl]) {
[[UIApplicationsharedApplication] openURL:appUrl];
}
这样就可以了。
另外如果你需要向B,也就是被启动的app专递参数的话也是可以的,只需要在URL的后面添加所需的参数即可(eg:FRC://123)
然后在A的APPDelegate添加的:
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL*)url {
returnYES;
}
就可以获得参数了。