文档章节

利用私有的API获得手机上所安装的所有应用信息

Virgo_only
 Virgo_only
发布于 2017/01/19 12:01
字数 240
阅读 18
收藏 0

MobileCoreService这个系统的库,里面有个私有的类LSApplicationWorkspace

,利用运行时可以获得私有类里面的方法,- (id)allInstalledApplications;  该方法能够获得设备上所有的应用信息,包括系统的和用户的应用

获得的应用的信息是一个类对象LSApplicationProxy,该对象里面有方法获得app的版本,名称,bundleID,类型

- (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);   
          }
    } 
}

 

© 著作权归作者所有

共有 人打赏支持
Virgo_only
粉丝 7
博文 36
码字总数 9058
作品 0
石家庄
程序员
私信 提问
机器学习为核心,DeepMind助力谷歌开发的安卓 9「Pie」今日上线

  选自android-developers   作者:Dave Burke   机器之心编译      今日,谷歌开发者博客宣布,经过 1 年多的开发和数月的测试,安卓 9「Pie」将正式面世。本文中,我们将介绍安卓...

机器之心
2018/08/07
0
0
安卓应用安全指南 5.4.3 通过 HTTPS 的通信 高级话题

5.4.3 通过 HTTPS 的通信 高级话题 原书:Android Application Secure Design/Secure Coding Guidebook 译者:飞龙 协议:CC BY-NC-SA 4.0 5.4.3.1 如何创建私有证书并配置服务器 在本节中,...

apachecn_飞龙
2018/04/01
0
0
故意为之?安卓9.0以前的全部系统版本均受到“API-breaking”漏洞的影响

        Nightwatch Cybersecurity于8月29日发布消息称,发现Android新漏洞,它使恶意应用程序得以绕过权限检查和现有的防护,访问系统广播信息。根据该通报,这一漏洞的信息如下:  ...

嘶吼RoarTalk
2018/09/07
0
0
iOS一个丝滑的全屏滑动返回手势

全屏返回手势 自 iOS7 之后,Apple 增加了 屏幕边缘右划返回 交互的支持,再配合上 UINavigationController 的交互式动画,pop 到上一级页面的操作变的非常顺畅和丝滑,从此,我很少再使用点...

北方人在上海
2016/07/23
37
0
安卓应用安全指南 4.10 使用通知

4.10 使用通知 原书:Android Application Secure Design/Secure Coding Guidebook 译者:飞龙 协议:CC BY-NC-SA 4.0 Android 提供用于向最终用户发送消息的通知功能。 使用通知会使一个称为...

apachecn_飞龙
2018/03/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

/sbin/ldconfig.real: /usr/local/lib/libcudnn.so.7 不是符号链接

平台:Ubuntu 18 LTS 问题描述 /sbin/ldconfig.real: /usr/local/lib/libcudnn.so.7 不是符号链接 解决办法:建立软连接 sudo ln -sf /usr/local/lib/libcudnn.so.7.1.3 /usr/local/lib/libc......

Pulsar-V
7分钟前
0
0
C++多线程之使用Mutex和Critical_Section

Mutex和Critical Section都是主要用于限制多线程(Multithread)对全局或共享的变量、对象或内存空间的访问。下面是其主要的异同点(不同的地方用绿色表示)。 Mutex Critical Section 性能和...

shzwork
21分钟前
0
0
AWS的自动部署工具codedeploy 部署前的准备工作

开始部署codedeploy: 1.先预置IAM用户: 创建一个IAM用户或使用一个与AWS相关联的用户; 复制以下的策略附加到IAM用户,向IAM用户赋予对codedeploy(及codedeploy所依赖的AWS服务和操作)的...

守护-创造
33分钟前
1
0
这可能是最详细的一线大厂Mysql面试题详解了

1、MySQL的复制原理以及流程 基本原理流程,3个线程以及之间的关联; 主:binlog线程——记录下所有改变了数据库数据的语句,放进master上的binlog中; 从:io线程——在使用start slave 之后...

Java干货分享
43分钟前
2
0
人的精力是什么?如何强化精力

人的精力是什么? 人的精力是什么? 精力指精神和体力。精神包括一个人的精神状态,兴奋度,做事情的投入度,专注度,持续时间等。 人的精力来源 人的精力有4种来源,身体的、情感的、思想的和...

莫库什勒
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部