一种NSLog输出函数的处理方法及装置与流程

文档序号:12747934阅读:388来源:国知局
一种NSLog输出函数的处理方法及装置与流程

本发明涉及互联网应用技术领域,特别涉及一种NSLog输出函数的处理方法及装置。



背景技术:

NSLog是扩充C的面向对象编程语言(Objective-C)中的输出功能,其与C语言的printf相当,常用于文字输出,在控制台(console)中输出显示结果。在对应用程序进行开发测试时,程序中包含NSLog输出函数,能够实时输出一些运行数据来判断程序是否正确的运行。但是在产品上线(即,发布应用程序)时,则需要删除所有NSLog输出函数,否则会影响性能。如何批量删除NSLog输出函数成为亟待解决的技术问题。



技术实现要素:

本发明提供一种NSLog输出函数的处理方法及装置,用以实现灵活地对NSLog输出函数进行处理的目的。

本发明提供一种NSLog输出函数的处理方法,包括:

定义NSLog输出函数对应的宏;

在对应用程序进行测试之前,添加所述NSLog输出函数对应的宏,以利用添加的所述宏对应用程序进行测试;

在对应用程序进行发布时,遍历添加的所述宏,并删除。

在本发明一实施例中,定义NSLog输出函数对应的宏,包括:

定义在对应用程序进行测试时,NSLog打印数据,以及定义在对应用程序进行发布时,NSLog为空语句,不打印任何数据,得到NSLog输出函数对应的宏。

在本发明一实施例中,定义NSLog输出函数对应的宏,包括:

在ProjectName_Prefix.pch中定义NSLog输出函数对应的宏。

在本发明一实施例中,定义在对应用程序进行测试时,NSLog打印数据,包括:

获取对应用程序进行测试时NSLog的输出格式;

基于所述对应用程序进行测试时NSLog的输出格式,定义在对应用程序进行测试时的NSLog打印数据的格式。

在本发明一实施例中,定义在对应用程序进行测试时,NSLog打印数据,包括:

获取对应用程序进行测试时NSLog的输出格式;

基于所述对应用程序进行测试时NSLog的输出格式,定义在对应用程序进行测试时的NSLog打印数据的格式。

本发明还提供一种NSLog输出函数的处理装置,包括:

定义模块,用于定义NSLog输出函数对应的宏;

添加模块,用于在对应用程序进行测试之前,添加所述NSLog输出函数对应的宏,以利用添加的所述宏对应用程序进行测试;

处理模块,用于在对应用程序进行发布时,遍历添加的所述宏,并删除。

在本发明一实施例中,所述定义模块还用于:

定义在对应用程序进行测试时,NSLog打印数据,以及定义在对应用程序进行发布时,NSLog为空语句,不打印任何数据,得到NSLog输出函数对应的宏。

在本发明一实施例中,所述定义模块还用于:

在ProjectName_Prefix.pch中定义NSLog输出函数对应的宏。

在本发明一实施例中,所述定义模块还用于:

获取对应用程序进行测试时NSLog的输出格式;

基于所述对应用程序进行测试时NSLog的输出格式,定义在对应用程序进行测试时的NSLog打印数据的格式。

在本发明一实施例中,所述处理模块还用于:

在对应用程序进行发布时,在应用程序的发布版本的程序代码中遍历添加的所述宏。

在本发明实施例中,定义NSLog输出函数对应的宏;在对应用程序进行测试之前,添加NSLog输出函数对应的宏,以利用添加的所述宏对应用程序进行测试;在对应用程序进行发布时,遍历添加的所述宏,并删除。由此可见,本发明实施例基于NSLog输出函数对应的宏,能够实现灵活地对NSLog输出函数进行处理的目的。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:

图1所示为本发明一实施例中NSLog输出函数的处理方法的流程图;

图2所示为本发明另一实施例中NSLog输出函数的处理方法的流程图;以及

图3所示为本发明一实施例中NSLog输出函数的处理装置的结构示意图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

如前文介绍,因为NSLog的输出比较消耗系统资源,而且输出的数据也可能会暴露出应用程序中的保密数据,所以发布正式版时需要把这些输出全部屏蔽掉。

如图1所示为本发明一实施例中NSLog输出函数的处理方法的流程图,该方法可以包括以下步骤S11-S13。

步骤S11,定义NSLog输出函数对应的宏。

在该步骤中,在定义NSLog输出函数对应的宏时,可以定义在对应用程序进行测试时,NSLog打印数据,以及定义在对应用程序进行发布时,NSLog为空语句,不打印任何数据,得到NSLog输出函数对应的宏。

步骤S12,在对应用程序进行测试之前,添加NSLog输出函数对应的宏,以利用添加的所述宏对应用程序进行测试。

步骤S13,在对应用程序进行发布时,遍历添加的所述宏,并删除。

在本发明实施例中,定义NSLog输出函数对应的宏;在对应用程序进行测试之前,添加NSLog输出函数对应的宏,以利用添加的所述宏对应用程序进行测试;在对应用程序进行发布时,遍历添加的所述宏,并删除。由此可见,本发明实施例基于NSLog输出函数对应的宏,能够实现灵活地对NSLog输出函数进行处理的目的。

在本发明的可选实施例中,在定义NSLog输出函数对应的宏时,定义代码如下:

#ifdef DEBUG

#define LRLog(…)NSlog(@“%s第%d行\n%@\n\n”,_func_,_Line_,[NSString stringWithFormat“”])

#else

#define LRLog(…)

#endif

在步骤S13在对应用程序进行发布时,遍历添加的所述宏,其代码如下:

上文步骤S11中定义NSLog输出函数对应的宏时,可以是在ProjectName_Prefix.pch中定义NSLog输出函数对应的宏。

在定义在对应用程序进行测试时,NSLog打印数据时,本发明实施例提供了一种可选的方案,该方案包括以下步骤A1-A2。

步骤A1,获取对应用程序进行测试时NSLog的输出格式。

步骤A2,基于对应用程序进行测试时NSLog的输出格式,定义在对应用程序进行测试时的NSLog打印数据的格式。

在本发明的可选实施例中,在对应用程序进行发布时,遍历添加的所述宏时,可以在应用程序的发布版本的程序代码中遍历添加的所述宏。

下面通过一具体实施例来详细介绍本发明的NSLog输出函数的处理方法的实现过程。如图2所示为本发明另一实施例中NSLog输出函数的处理方法的流程图,该方法可以包括以下步骤S21-S25。

步骤S21,在ProjectName_Prefix.pch中,获取对应用程序进行测试时NSLog的输出格式。

步骤S22,基于对应用程序进行测试时NSLog的输出格式,定义在对应用程序进行测试时的NSLog打印数据的格式。

步骤S23,定义在对应用程序进行发布时,NSLog为空语句,不打印任何数据,得到NSLog输出函数对应的宏。

在该步骤中,定义NSLog输出函数对应的宏的代码,可以参照前文介绍,此处不再赘述。

步骤S24,在对应用程序进行测试之前,添加NSLog输出函数对应的宏,以利用添加的所述宏对应用程序进行测试。

步骤S25,在对应用程序进行发布时,在应用程序的发布版本的程序代码中遍历添加的所述宏。

在该步骤中,在对应用程序进行发布时遍历添加的所述宏,可以参照前文介绍,此处不再赘述。

本发明实施例基于NSLog输出函数对应的宏,能够实现灵活地对NSLog输出函数进行处理的目的。

需要说明的是,在实际应用中,上述所有可选实施方式可以采用结合的方式任意组合,形成本发明的可选实施例,在此不再一一赘述。

对应于上述实施例中的NSLog输出函数的处理方法,本发明还提供一种NSLog输出函数的处理装置。如图3所示为本发明一实施例中NSLog输出函数的处理装置的结构示意图,包括:

定义模块31,用于定义NSLog输出函数对应的宏;

添加模块32,用于在对应用程序进行测试之前,添加所述NSLog输出函数对应的宏,以利用添加的所述宏对应用程序进行测试;

处理模块33,用于在对应用程序进行发布时,遍历添加的所述宏,并删除。

在本发明一实施例中,上述定义模块31还用于:

定义在对应用程序进行测试时,NSLog打印数据,以及定义在对应用程序进行发布时,NSLog为空语句,不打印任何数据,得到NSLog输出函数对应的宏。

在本发明一实施例中,上述定义模块31还用于:

在ProjectName_Prefix.pch中定义NSLog输出函数对应的宏。

在本发明一实施例中,上述定义模块31还用于:

获取对应用程序进行测试时NSLog的输出格式;

基于所述对应用程序进行测试时NSLog的输出格式,定义在对应用程序进行测试时的NSLog打印数据的格式。

在本发明一实施例中,上述处理模块33还用于:

在对应用程序进行发布时,在应用程序的发布版本的程序代码中遍历添加的所述宏。

本发明实施例的上述装置:定义NSLog输出函数对应的宏;在对应用程序进行测试之前,添加NSLog输出函数对应的宏,以利用添加的所述宏对应用程序进行测试;在对应用程序进行发布时,遍历添加的所述宏,并删除。由此可见,本发明实施例基于NSLog输出函数对应的宏,能够实现灵活地对NSLog输出函数进行处理的目的。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1