zoukankan      html  css  js  c++  java
  • iOS 获取已安装 的APP

    -(void)getAppPlist
    {
        Class LSApplicationWorkspace_class = objc_getClass("LSApplicationWorkspace");
        NSObject* workspace = [LSApplicationWorkspace_class performSelector:@selector(defaultWorkspace)];
        
        NSArray*apps = [workspace performSelector:@selector(allApplications)];
        
        NSMutableArray*appsIconArr = [NSMutableArray array];
        
        NSMutableArray*appsNameArr = [NSMutableArray array];
        
        NSLog(@"apps: %@",apps );
        
        [apps enumerateObjectsUsingBlock:^(id obj,NSUInteger idx,BOOL* stop) {
            
            NSDictionary*boundIconsDictionary = [obj performSelector:@selector(boundIconsDictionary)];
            
            NSString*iconPath = [NSString stringWithFormat:@"%@/%@.png", [[obj performSelector:@selector(resourcesDirectoryURL)]path], [[[boundIconsDictionary objectForKey:@"CFBundlePrimaryIcon"]objectForKey:@"CFBundleIconFiles"]lastObject]];
            
            
            UIImage*image = [[UIImage alloc]initWithContentsOfFile:iconPath];
            
            id name = [obj performSelector:@selector(localizedName)];
            
            if(image)
                
            {
                
                [appsIconArr addObject:image];
                
                [appsNameArr addObject: name];
                
            }
            
            
            NSLog(@"iconPath = %@", iconPath);
            
            NSLog(@"name = %@", name);
            
            NSLog(@"%@",[self properties_aps:obj]);
            
            NSLog(@"_____________________________________________
    ");
        }];
        
    
    }
    
    
    
    - (NSDictionary *)properties_aps:(id)objc
    
    {
        
        NSMutableDictionary *props = [NSMutableDictionary dictionary];
        
        unsigned int outCount, i;
        
        objc_property_t *properties = class_copyPropertyList([objc class], &outCount);
        
        for (i = 0; i<outCount; i++)
            
        {
            
            objc_property_t property = properties[i];
            
            const char* char_f =property_getName(property);
            
            NSString *propertyName = [NSString stringWithUTF8String:char_f];
            
            id propertyValue = [objc valueForKey:(NSString *)propertyName];
            
            if (propertyValue) [props setObject:propertyValue forKey:propertyName];
            
        }
        
        free(properties);
        
        return props;
        
    }
  • 相关阅读:
    Java集合框架
    数字翻转
    Servlet的一些细节
    tomcat9配置https
    JavaWeb_打包web应用war
    JavaWeb_tomcat设置默认应用
    JavaWeb_增强for循环
    JavaWeb_静态导入、自动拆箱/装箱
    JavaWeb_泛型(Generic)
    54字符流中第一个不重复的字符
  • 原文地址:https://www.cnblogs.com/qingjoin/p/4950392.html
Copyright © 2011-2022 走看看