获取ios 8中所有已安装应用程序的列表

时间:2014-11-17 09:55:16

标签: ios ios8 iphone-privateapi

如何在iOS 8中以编程方式获取iPhone设备上所有已安装应用程序的列表。

如果有人通过使用私有API(但设备非越狱)知道解决方案,那么它很好。

我知道可以使用iTunes Search API,但它只提供从iTunes安装的应用程序。我需要设备上的所有应用程序,无论是来自iTunes,还是用户开发的应用程序或系统应用程序。

2 个答案:

答案 0 :(得分:21)

试试这个。 它有效,我已经过测试。

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

答案 1 :(得分:6)

我重构了Xcode 7.3的上面代码。它在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]);