问题
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]);
来源:https://stackoverflow.com/questions/26969923/get-list-of-all-installed-application-in-ios-8