检测目前手机上都安装了哪些应用程序(非系统自带)苹果官方私有Api

  • (NSArray *)getAllAppsFromDevice
    {
    //获取手机上所有的app
    Class LSApplicationWorkspace_class = objc_getClass("LSApplicationWorkspace");
    NSObject *workspace = [LSApplicationWorkspace_class performSelector:@selector(defaultWorkspace)];
    NSArray *apps = [workspace performSelector:@selector(allInstalledApplications)];
    Class LSApplicationProxy_class = objc_getClass("LSApplicationProxy");
    NSMutableArray *deviceApps = [NSMutableArray new];
    for (int i = 0; i < apps.count; i++) {
    NSObject *temp = apps[i];
    if ([temp isKindOfClass:LSApplicationProxy_class]) {
    ApplicationModel *appModel = [[ApplicationModel alloc] init];
    NSString *tempKey = [temp performSelector:NSSelectorFromString(@"applicationIdentifier")];
    if ([tempKey containsOtherString:@"apple"]) {
    continue;
    }
    //版本
    NSString *tempVersionNumber = [temp performSelector:NSSelectorFromString(@"shortVersionString")];
    appModel.appNumber = tempVersionNumber;

    //bundle id
    NSString *tempAppkey = [temp performSelector:NSSelectorFromString(@"applicationIdentifier")];
    appModel.appKey = tempAppkey;
    [deviceApps addObject:appModel];
    }
    }
    return [deviceApps copy];
    }

你可能感兴趣的:(检测目前手机上都安装了哪些应用程序(非系统自带)苹果官方私有Api)