在iOS中,应用A如果想打开应用B,需要在B工程的info.plist文件中添加URL types字段下面的URL identifier 和 URL Schemes 字段;
比如URL identifier 设置为:com.mycompany.testapp ; URL Schemes 设置为:launch;
那么在工程A中可以通过:
UIApplication *app = [UIApplicationsharedApplication];
NSURL *url = [NSURLURLWithString:@"myapp://com.adsage"];
[app openURL:url];
启动应用B。
同样的道理,利用 UIApplication 类的 - (BOOL)canOpenURL:(NSURL *)url 成员方法可以判断是否能启动应用B;
UIApplication *app = [UIApplicationsharedApplication];
NSURL *url = [NSURLURLWithString:@"myapp://com.adsage"];
if ([app canOpenURL:url]) {
NSLog(@"can launch B app!");
}else {
NSLog(@"can not launch B app!");
}
如果能启动应用B,说明已经安装应用B,反之。
不过此方法必须知道应用B(被启动应用) 的URL types属性 。