iOS 检测有没有安装其它应用

在iOS中,应用A如果想打开应用B,需要在B工程的info.plist文件中添加URL types字段下面的URL identifier 和 URL Schemes 字段;


比如URL identifier 设置为:com.adsage  ;  URL Schemes  设置为:myapp;


那么在工程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属性 。


————————————————————————————————————————


  1. openURL能帮助你运行Maps,SMS,Browser,Phone甚至其他的应用程序。  
  2.   
  3. openURL的使用方法:   
  4.   
  5. [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:myURLString]];  
  6.   
  7. 自己定义URL,方法如下:   
  8.   
  9. 打开info.plist,添加一项URL types  
  10.   
  11. 展开URL types,再展开Item1,将Item1下的URL identifier修改为URL Scheme  
  12. 展开URL Scheme,将Item1的内容修改为myapp  
  13.   
  14. 或者:  
  15.   
  16. (增加一下此段设置)  
  17. <key>CFBundleURLTypes</key>  
  18.     <array>  
  19.         <dict>  
  20.             <key>CFBundleURLSchemes</key>  
  21.             <array>  
  22.                 <string>myapp</string>  
  23.             </array>  
  24.             <key>CFBundleURLName</key>  
  25.             <string>com.yourcompany.appName</string>  
  26.         </dict>  
  27.     </array>  
  28.   
  29. 其他程序可通过myapp://com.yourcompany.appName 
  30.   
  31. 可通过[[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"myapp://com.yourcompany.appName"]];  
  32.   
  33. 来判断用户机器中是否安装了该程序  
  34.   
  35. 通过- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url  
  36.   
  37. 可以通过处理url来获取信息扫行相应操作。  


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值