I would like to get a list of all installed apps(NSArray). My app is a jailbreak app and is located in/Applications so Sandbox is no problem there. Is there any way to get a list of app store apps? I've already seen this in other apps (Activator, SBSettings...). I have no idea how to do this, because all of the apps sandboxes have that huge code, so i don't know how it would be possible to access the .app folder inside the sandbox.
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"];
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With