利用私有的API获得手机上所安装的所有应用信息(包括版本,名称,bundleID,类型)
2016-11-22 17:15
633 查看
MobileCoreService这个系统的库,里面有个私有的类LSApplicationWorkspace
,利用运行时可以获得私有类里面的方法,- (id)allInstalledApplications; 该方法能够获得设备上所有的应用信息,包括系统的和用户的应用
获得的应用的信息是一个类对象LSApplicationProxy,该对象里面有方法获得app的版本,名称,bundleID,类型
好了直接上代码首先引入头文件#include <objc/runtime.h>
这里附上MobileCoreServices里面的头文件https://github.com/nst/iOS-Runtime-Headers/tree/master/Frameworks/MobileCoreServices.framework
,利用运行时可以获得私有类里面的方法,- (id)allInstalledApplications; 该方法能够获得设备上所有的应用信息,包括系统的和用户的应用
获得的应用的信息是一个类对象LSApplicationProxy,该对象里面有方法获得app的版本,名称,bundleID,类型
好了直接上代码首先引入头文件#include <objc/runtime.h>
- (void)getAllApps { //获取手机上所有的app Class LSApplicationWorkspace_class = objc_getClass("LSApplicationWorkspace"); NSObject *workspace = [LSApplicationWorkspace_class performSelector:@selector(defaultWorkspace)]; NSArray *apps = [workspace performSelector:@selector(allInstalledApplications)]; Class LSApplicationProxy_class = objc_getClass("LSApplicationProxy"); for (int i = 0; i < apps.count; i++) { NSObject *temp = apps[i]; if ([temp isKindOfClass:LSApplicationProxy_class]) { //应用的bundleId NSString *appBundleId = [temp performSelector:NSSelectorFromString(@"applicationIdentifier")]; //应用的名称 NSString *appName = [temp performSelector:NSSelectorFromString(@"localizedName")]; //应用的类型是系统的应用还是第三方的应用 NSString * type = [temp performSelector:NSSelectorFromString(@"applicationType")]; //应用的版本 NSString * shortVersionString = [temp performSelector:NSSelectorFromString(@"shortVersionString")]; NSLog(@"类型=%@应用的BundleId=%@ ++++应用的名称=%@版本号=%@",type,appBundleId,appName,shortVersionString); } } }
这里附上MobileCoreServices里面的头文件https://github.com/nst/iOS-Runtime-Headers/tree/master/Frameworks/MobileCoreServices.framework
相关文章推荐
- 利用私有的API获得手机上所安装的所有应用信息
- 利用RxJava获取手机已安装的App的图片、应用名称和版本号
- Android 获取所有已安装应用信息(图标,名称,版本号,包) ,并在自己程序打开某个应用
- 如何用adb获得手机里面某个apk的应用信息、版本信息
- 60遍历获取手机安装的应用程序的图标、应用名称等信息的方法
- 利用RxJava获取手机已安装的App的图片、应用名称和版本号
- ios中监测手机上是否安装某个应用 iOS-私有API与runtime
- 返回当前手机所有的应用的相关信息(名称,包名,图标,(手机内存,sd卡),(系统,用户))
- 获取所有安装在手机上的应用软件的信息
- [小代码]获得所有已安装应用的名字,包名,版本,图标
- 获取手机第三方应用的信息(名称,包名,版本号,版本名,安装包路径,安装包大小)
- android 获得安装apk包的版本信息 和 版本升级 代码
- 利用Google和CSDN的API实现手机实时接收论坛信息
- 遍历数据库中的用户存储过程,获得每个存储过程的参数名、参数类型、存储过程名称等信息以xml的形式保存
- Android获取已安装应用信息(图标,名称,版本号,包)
- 【Android】获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)(应用图片、应用名、包名等) 收藏
- Android获取已安装应用信息(图标,名称,版本号,包)
- 获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)(应用图片、应用名、包名等)
- Android获取已安装应用信息(图标,名称,版本号,包)
- 【Android】获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)(应用图片、应用名、包名等)