[发明专利]IOS平台上捕获系统消息的方法和装置有效

专利信息
申请号: 201210366014.6 申请日: 2012-09-27
公开(公告)号: CN102902541A 公开(公告)日: 2013-01-30
发明(设计)人: 王海 申请(专利权)人: 北京国双科技有限公司
主分类号: G06F9/44 分类号: G06F9/44
代理公司: 北京康信知识产权代理有限责任公司 11240 代理人: 吴贵明;张永明
地址: 100086 北京市海淀区*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: ios 平台 捕获 系统 消息 方法 装置
【说明书】:

技术领域

发明涉及通信领域,具体而言,涉及一种IOS平台上捕获系统消息的方法和装置。

背景技术

随着通信技术的发展,IOS系统越来越被人熟知,在IOS系统中,系统消息可以简单理解为方法调用,指的是由IOS操作系统或app(application,第三方应用程序)发起的对操作系统公开的api(Application Programming Interface,应用程序编程接口)方法调用。例如:当对象被创建时,iOS操作系统会调用NSObject的init方法,就称这次调用为一次系统消息。在IOS系统中,捕获消息对于app行为监测很重要,要准确检测app的行为,需要对于一些关键系统消息进行捕获,并记录下来。

现有的技术中,捕获系统消息的一般方法是继承目标方法所在的类,重写目标方法,在目标方法中记录下方法调用信息或插入自定义代码,然后在调用父类的方法实现。这样既保留了父类方法的逻辑,又加入了自定义逻辑。例如要监测某对象“创建”的消息,就需要继承此对象,然后重写“创建”方法,记录下创建消息。这种方法工作量大,容易遗漏,例如,要捕获所有视图对象的创建消息,并记录下视图是何时被创建的,就需要在每一个视图实现类中重新创建方法,而一个app中往往存在很多视图类,这就需要加入大量重复的逻辑,工作量大还容易出错。

另一种方法是让这些视图类都继承自同一个父类,在父类中加入重新创建方法,由于IOS的编程语言ObjectiveC是单继承的,如果仅仅是为了记录视图创建时间就占用了继承的位置,很不值得,其他更重要的功能往往也需要继承,就发生了冲突。

针对相关技术中IOS平台捕获系统消息时因加入大量代码而导致的工作量大、容易出错的问题,目前尚未提出有效的解决方案。

发明内容

本发明提供了一种IOS平台上捕获系统消息的方法和装置,以解决相关技术中IOS平台捕获系统消息时因加入大量代码而导致的工作量大、容易出错的问题,目前尚未提出有效的解决方案。

根据本发明的一个方面,提供了一种IOS平台上捕获系统消息的方法,该方法包括:获取当前所需执行的api的指针指向的方法体,其中,指针指向的方法体包括如下逻辑:调用api自身和记录当前所需执行的api的发生状态;执行获取到的当前所需执行的api的指针指向的方法体。

进一步地,在获取当前所需执行的api的指针指向的方法体之前,方法包括:为api所在的类创建分类;在创建的分类中创建自定义方法,其中,自定义方法包含如下逻辑:递归调用自身和记录系统消息发生状态;将自定义方法的方法体和api中的方法体进行交换。

进一步地,在为api所在的类创建分类之前,方法还包括:确定api的名称和该api所在的类。

进一步地,确定api的名称和该api所在的类的步骤包括:在IOS系统的api文档中查找到api所对应的信息;根据查找到的api所对应的信息确定api的名称和该api所在的类。

进一步地,将自定义方法的方法体和api的方法体进行交换包括:确定用于指向自定义方法的方法体的第一指针;确定用于指向api的方法体的第二指针;将确定的第一指针和确定的第二指针交换。

根据本发明的另一方面,提供了一种IOS平台上捕获系统消息的,该装置包括:获取单元,用于获取当前所需执行的api的指针指向的方法体,其中,指针指向的方法体包括如下逻辑:调用api自身和记录当前所需执行的api的发生状态;执行单元,用于执行获取单元获取到的当前所需执行的api的指针指向的方法体。

进一步地,该装置还包括:第一创建单元,用于在获取当前所需执行的api的指针指向的方法体之前,为api所在的类创建分类;第二创建单元,用于在获取当前所需执行的api的指针指向的方法体之前,在第一创建单元创建的分类中创建自定义方法,其中,自定义方法包含如下逻辑:递归调用自身和记录系统消息发生状态;交换单元,用于在获取当前所需执行的api的指针指向的方法体之前,将自定义方法的方法体和api中的方法体进行交换,其中,业务逻辑为api所对应的业务逻辑。

进一步地,该装置还包括:确定单元,用于在为api所在的类创建分类之前,确定所需监控的api的名称和api所在的类。

进一步地,确定单元包括:查找模块,用于在IOS系统的api文档中查找到api所对应的信息;第一确定模块,用于根据查找模块查找到的api所对应的信息确定api的名称和该api所在的类。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京国双科技有限公司,未经北京国双科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201210366014.6/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top