如何在iOS 8中以编程方式获取iPhone设备上所有安装的应用程序列表。
如果有人知道如何使用私有API(但设备未越狱)解决此问题,那就太好了。
我知道可以使用iTunes搜索API实现,但它只提供从iTunes安装的应用程序。我需要设备上所有的应用程序,无论是来自iTunes还是用户开发的或系统应用程序。
如何在iOS 8中以编程方式获取iPhone设备上所有安装的应用程序列表。
如果有人知道如何使用私有API(但设备未越狱)解决此问题,那就太好了。
我知道可以使用iTunes搜索API实现,但它只提供从iTunes安装的应用程序。我需要设备上所有的应用程序,无论是来自iTunes还是用户开发的或系统应用程序。
试试这个。 它有效,我已测试过。
#include <objc/runtime.h>
Class LSApplicationWorkspace_class = objc_getClass("LSApplicationWorkspace");
NSObject* workspace = [LSApplicationWorkspace_class performSelector:@selector(defaultWorkspace)];
NSLog(@"apps: %@", [workspace performSelector:@selector(allApplications)]);
我已经对以上代码进行了重构,以适应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]);