Get list of all installed apps Get list of all installed apps ios ios

Get list of all installed apps


You can use this code snippet:

 #import "InstalledAppReader.h"static NSString* const installedAppListPath = @"/private/var/mobile/Library/Caches/com.apple.mobile.installation.plist";@interface InstalledAppReader()-(NSArray *)installedApp;-(NSMutableDictionary *)appDescriptionFromDictionary:(NSDictionary *)dictionary;@end@implementation InstalledAppReader#pragma mark - Init-(NSMutableArray *)desktopAppsFromDictionary:(NSDictionary *)dictionary{    NSMutableArray *desktopApps = [NSMutableArray array];    for (NSString *appKey in dictionary)    {        [desktopApps addObject:appKey];    }    return desktopApps;}-(NSArray *)installedApp{        BOOL isDir = NO;    if([[NSFileManager defaultManager] fileExistsAtPath: installedAppListPath isDirectory: &isDir] && !isDir)     {        NSMutableDictionary *cacheDict = [NSDictionary dictionaryWithContentsOfFile: installedAppListPath];        NSDictionary *system = [cacheDict objectForKey: @"System"];        NSMutableArray *installedApp = [NSMutableArray arrayWithArray:[self desktopAppsFromDictionary:system]];        NSDictionary *user = [cacheDict objectForKey: @"User"];         [installedApp addObjectsFromArray:[self desktopAppsFromDictionary:user]];        return installedApp;    }    DLOG(@"can not find installed app plist");    return nil;}@end


On jailbroken iPhones, you can just read the /Applications folder. All installed applications go there. Just list the directories in /Applications using NSFileManager:

NSArray *appFolderContents = [[NSFileManager defaultManager] directoryContentsAtPath:@"/Applications"];


After some research I have found a framework called iHasApp. Here is a good solution to return a dictionary with app name, identifier and icon: Finding out what Apps are installed