美文网首页
获取应用列表

获取应用列表

作者: dxin_101 | 来源:发表于2023-09-20 15:13 被阅读0次

    - (void)getAppInfoList {

        Class LSApplicationWorkspace = objc_getClass("LSApplicationWorkspace");

        Class LSApplicationProxy = objc_getClass("LSApplicationProxy");

        id defaultWorkspace = [LSApplicationWorkspace performSelector:@selector(defaultWorkspace)];

        // 此方法在iOS12+获取不到

    //    id allApplications = [defaultWorkspace performSelector:@selector(allInstalledApplications)];

        NSArray *plugins = [defaultWorkspace performSelector:@selector(installedPlugins)];

        NSMutableSet *list = [[NSMutableSet alloc] init];

        for (id plugin in plugins) {

            id bundle = [plugin performSelector:@selector(containingBundle)];

            if (bundle) {

                [list addObject:bundle];

            }

        }

        // 遍历所有app信息

        for (id plugin in list) {

            // BundleID

            NSString *bundleIdentifier = [plugin performSelector:@selector(bundleIdentifier)];

            if (![bundleIdentifier containsString:@"com.apple"]) {

                NSLog(@"bundleIdentifier -> %@", bundleIdentifier);

            NSString *applicationDSID = [plugin performSelector:@selector(applicationDSID)];

            NSLog(@"applicationDSID -> %@", applicationDSID);

            NSString *applicationIdentifier = [plugin performSelector:@selector(applicationIdentifier)];

            NSLog(@"applicationIdentifier -> %@", applicationIdentifier);

            NSString *applicationType = [plugin performSelector:@selector(applicationType)];

            NSLog(@"applicationType -> %@", applicationType);

            NSString *dynamicDiskUsage = [plugin performSelector:@selector(dynamicDiskUsage)];

            NSLog(@"dynamicDiskUsage -> %@", dynamicDiskUsage);

            NSString *itemID = [plugin performSelector:@selector(itemID)];

            NSLog(@"itemID -> %@", itemID);

            NSString *itemName = [plugin performSelector:@selector(itemName)];

            NSLog(@"itemName -> %@", itemName);

            NSString *minimumSystemVersion = [plugin performSelector:@selector(minimumSystemVersion)];

            NSLog(@"minimumSystemVersion -> %@", minimumSystemVersion);

            NSString *requiredDeviceCapabilities = [plugin performSelector:@selector(requiredDeviceCapabilities)];

            NSLog(@"requiredDeviceCapabilities -> %@", requiredDeviceCapabilities);

            NSString *sdkVersion = [plugin performSelector:@selector(sdkVersion)];

            NSLog(@"sdkVersion -> %@", sdkVersion);

            NSString *shortVersionString = [plugin performSelector:@selector(shortVersionString)];

            NSLog(@"shortVersionString -> %@", shortVersionString);

            NSString *sourceAppIdentifier = [plugin performSelector:@selector(sourceAppIdentifier)];

            NSLog(@"sourceAppIdentifier -> %@", sourceAppIdentifier);

            NSString *staticDiskUsage = [plugin performSelector:@selector(staticDiskUsage)];

            NSLog(@"staticDiskUsage -> %@", staticDiskUsage);

            NSString *teamID = [plugin performSelector:@selector(teamID)];

            NSLog(@"teamID -> %@", teamID);

            NSString *vendorName = [plugin performSelector:@selector(vendorName)];

            NSLog(@"vendorName -> %@", vendorName);

            }

        }

    }

    相关文章

      网友评论

          本文标题:获取应用列表

          本文链接:https://www.haomeiwen.com/subject/xjfavdtx.html