IOS应用信息抓取
来源:互联网 发布:上色软件 编辑:程序博客网 时间:2024/04/30 12:59
本文档主要介绍怎么在真机中获取应用列表,并获得应用的相关核心信息,如版本号、bundleID、appleID、开发的sdk、上次打开时间。。。
由于能力有限,目前只能获取这些信息,还无法获取更多有意思的信息。
一、准备工作
- 使用最新的XCode创建应用AppList;
- 学习IOS底层Runtime机制,包含类操作和消息分发;
- 了解什么是私有API什么是公有API;
- 在AppList中开启消息分发机制。
二、核心代码
1.抓取应用列表
Class LSApplicationWorkspace_class = objc_getClass("LSApplicationWorkspace");// 获取核心类LSApplicationWorkspace NSObject *workspace = objc_msgSend(LSApplicationWorkspace_class, sel_registerName("defaultWorkspace")); // 初始化 NSArray *array = objc_msgSend(workspace, sel_registerName("allApplications"));// 获取应用列表
2.分析每一个应用
_localizedName = objc_msgSend(applicationProxy, sel_registerName("localizedName"));// 应用名 _resourcesDirectoryURL = objc_msgSend(applicationProxy, sel_registerName("sourceAppIdentifier"));// 应用文件存放的地址 _applicationIdentifier = objc_msgSend(applicationProxy, sel_registerName("applicationIdentifier"));// 应用的Bundle identifier _sdkVersion = objc_msgSend(applicationProxy, sel_registerName("sdkVersion"));// 开发应用的sdk版本号 _minimumSystemVersion = objc_msgSend(applicationProxy, sel_registerName("minimumSystemVersion"));// 应用最低支持的版本 _shortVersionString = objc_msgSend(applicationProxy, sel_registerName("shortVersionString"));// 当前应用版本号 _appleID = [NSString stringWithFormat:@"%@", objc_msgSend(applicationProxy, sel_registerName("itemID"))]; _openDate = objc_msgSend(applicationProxy, sel_registerName("registeredDate"));// 上次应用打开时间 NSString *applicationType = objc_msgSend(applicationProxy, sel_registerName("applicationType"));// 应用分类 if ([@"System" isEqualToString:applicationType]) { _applicationType = ApplicationTypeSystem; } else if ([@"User" isEqualToString:applicationType]) { _applicationType = ApplicationTypeUser; } else { _applicationType = ApplicationTypeOther; } // 获取 Info.plist NSString *infoPlistStr = [NSString stringWithFormat:@"%@/Info.plist", _resourcesDirectoryURL]; NSDictionary *infoPlistDict = [NSDictionary dictionaryWithContentsOfURL:[NSURL URLWithString:infoPlistStr]];
三、效果图
源代码下载
http://download.csdn.net/detail/y550918116j/9149953
0 0
- IOS应用信息抓取
- 获取iOS应用信息
- IOS应用抓取HTML网页数据
- Charles抓取iOS/Android应用网络封包
- 抓取信息
- 利用百度应用引擎(BAE)抓取百度信息过程
- android应用异常退出,抓取异常信息写入文件里
- iOS - 获取系统信息&应用信息
- iOS获取设备信息与应用信息
- 配合scrapy,用请求方式抓取一些网站内容。例如抓取360手机应用APP信息。
- 使用Fiddler抓取手机应用数据接口(Android和ios)
- iOS应用安全Part2:获取iOS应用的类信息
- 页面信息抓取
- 网站信息抓取
- java抓取天气预报信息
- 抓取豆瓣影视信息
- java HtmlParser 抓取信息
- 招聘信息抓取系统
- c:foreach标签使用详解
- ios软件开发 json格式字符串转字典,字典转json格式字符串
- 《SICP》读书笔记--Chapter 1 Building Abstraction with Procedures
- 多线程系列一——何为线程与java中线程的创建
- 编写更好的jQuery代码
- IOS应用信息抓取
- qt model中headerData()函数的调用
- netstat -an显示不是内部或者外部命令
- GPT分区格式
- History对象
- 使用CocoaPods配置第三方类库
- 在iOS开发中使用自定义字体
- SharedPreferences详解
- RHCS+Conga+iSCSI+CLVM+GFS实现Web服务的共享存储HA集群