URL Scheme不仅可以打开其他的app,当然你也能为自己的app设置URL Scheme
1、如何设置给app设置URL Scheme
- 添加URL types字段数组
- 设置URL identifier 字段
- 添加URL Scheme 在item写入自己的特定的启动字符串
if([[UIApplication sharedApplication] canOpenURL:[NSURLURLWithString:@"MyTestApp://"]]) {
[[UIApplication sharedApplication] openURL:[NSURLURLWithString:@"MyTestApp://"]];
}
else
{
NSLog(@"本地没有该软件");
}
就可以打开你的app
重点来了:
你可以在你的URL Scheme加一些东西来辨识是从哪儿传过来的
- myapp://
- myapp://identifier
- myapp://identifier1
- myapp://identifier2
- myapp://identifier3
当然你可以在你appDelegate里面写一些东西来判断这些url
-(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
if (!url) {
return NO;
}
NSString *urlStr = [url absoluteString];
NSLog(@"%@",urlStr);
return YES;
}
另一个app代码写入:
<pre name="code" class="objc">if([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"MyTestApp://identify1"]])
{
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"MyTestApp://identify1"]];
}
运行结果过如下图:
2、打开常用app
//如果能打开本地qq
if([[UIApplication sharedApplication] canOpenURL:[NSURLURLWithString:@"mqq://"]]) {
[[UIApplication sharedApplication] openURL:[NSURLURLWithString:@"mqq://"]];
}
else
{
NSLog(@"本地没有该软件");
}
3、打开系统自带app
- 打开系统设置:
- [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=LOCATION_SERVICES"]];
- 打开蓝牙:
- [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=General&path=Bluetooth"]];
- sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=TWITTER"]];
- 调用 自带mail
- [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://admin@hzlzh.com"]];
- 调用 电话phone
- [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://8008808888"]];
- 调用 SMS
- [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms://800888"]];
- 调用自带 浏览器 safari
- [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.hzlzh.com"]];