URL Scheme不仅可以打开其他的app,当然你也能为自己的app设置URL Scheme

1、如何设置给app设置URL Scheme

ios自动化打开app ios自动化打开scheme_ios自动化打开app

  • 添加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"]];
    }





运行结果过如下图:

ios自动化打开app ios自动化打开scheme_ios自动化打开app_02


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"]];