-->

Get list of all installed application in ios 8

2019-01-16 12:15发布

问题:

How to get list of all installed Applications on iPhone device programmatically in iOS 8.

If anyone knows the solution by using private APIs(but device non-jailbroken) then its well and good.

I know that it is possible using iTunes Search API, but it gives only those applications that are installed from iTunes. I need all the applications on device, whether it is from iTunes or user-developed or system apps.

回答1:

try this. it works,I've tested.

#include <objc/runtime.h>
Class LSApplicationWorkspace_class = objc_getClass("LSApplicationWorkspace");
NSObject* workspace = [LSApplicationWorkspace_class performSelector:@selector(defaultWorkspace)];
NSLog(@"apps: %@", [workspace performSelector:@selector(allApplications)]);


回答2:

I refactored above code for Xcode 7.3. It is working perfectly fine on iOS9.

 #include <objc/runtime.h>
 Class LSApplicationWorkspace_class = objc_getClass("LSApplicationWorkspace");
 SEL selector=NSSelectorFromString(@"defaultWorkspace");
 NSObject* workspace = [LSApplicationWorkspace_class performSelector:selector];
 SEL selectorALL = NSSelectorFromString(@"allApplications");
 NSLog(@"apps: %@", [workspace performSelector:selectorALL]);