ios判断手机中是否安装了某个App

1.获取手机中安装的所有App 1.1.runtime中的方法,所以要导入 #include 1.2.在 AppDelegate.m文件中的 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions方法中: Class LSApplicationWorkspace_class = objc_getClass ( "LSApplicationWorkspace" );  NSObject* workspace = [LSApplicationWorkspace_class performSelector:@selector(defaultWorkspace)];  NSArray *allApplications = [workspace performSelector:@selector(allApplications)];//这样就能获取到手机中安装的所有App 打印出来是这样的: 2016-06-01 11:11:41.540 jqb[7537:2410265] app = com.apple.mobilesms.notification
2016-06-01 11:11:41.541 jqb[7537:2410265] app = com.apple.mobilesms.compose
2016-06-01 11:11:41.541 jqb[7537:2410265] app = com.apple.Fitness
2016-06-01 11:11:41.541 jqb[7537:2410265] app = com.apple.Home.HomeUIService
2016-06-01 11:11:41.541 jqb[7537:2410265] app = com.apple.StoreDemoViewService
2016-06-01 11:11:41.541 jqb[7537:2410265] app = com.apple.videos
2016-06-01 11:11:41.541 jqb[7537:2410265] app = com.apple.social.SLGoogleAuth
2016-06-01 11:11:41.542 jqb[7537:2410265] app = com.apple.mobileslideshow
2016-06-01 11:11:41.542 jqb[7537:2410265] app = com.apple.Health
2016-06-01 11:11:41.542 jqb[7537:2410265] app = com.apple.news
2016-06-01 11:11:41.542 jqb[7537:2410265] app = com.apple.AccountAuthenticationDialog
2016-06-01 11:11:41.542 jqb[7537:2410265] app = com.apple.purplebuddy
2016-06-01 11:11:41.542 jqb[7537:2410265] app = com.apple.social.SLYahooAuth
2016-06-01 11:11:41.542 jqb[7537:2410265] app = com.apple.AdSheetPhone
2016-06-01 11:11:41.542 jqb[7537:2410265] app = com.apple.Diagnostics
2.判断手机中是否安装了某个App 这就需要对我们获取到的allApplications做一下处理,这个数组中装的并不是常规的字符串,我们可以从打印结果看出,是一个LSApplicationProxy类型的,我们要把这个转换成字符串,而且我们可以从打印结果看出,这个字符串中不只包含了App的bundle ID,还包含了安装的路径,因为这个路径不唯一不确定,我们判断是否安装了某个App只需判断这个字符串中的 bundle ID,所有我们还要对字符串做处理。
NSInteger  zlConnt = 0 ; for ( NSString *appStr in allApplications) {
        NSString *app = [ NSString stringWithFormat:@"%@",appStr];//转换成字符串 

        NSRange range = [app rangeOfString:@"org.ios.appprojuct.jqb”];//是否包含这个 bundle ID        
       
if (range. length > 1 ) {
           
            zlConnt ++;         }        
    }
   
    if (zlConnt >= 1) {        
       
NSLog ( @" 已安装金钱豹 org.ios.appprojuct.jqb" );
       
    }
     


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部