CN106354639A - 一种NSLog输出函数的处理方法及装置 - Google Patents
一种NSLog输出函数的处理方法及装置 Download PDFInfo
- Publication number
- CN106354639A CN106354639A CN201610755957.6A CN201610755957A CN106354639A CN 106354639 A CN106354639 A CN 106354639A CN 201610755957 A CN201610755957 A CN 201610755957A CN 106354639 A CN106354639 A CN 106354639A
- Authority
- CN
- China
- Prior art keywords
- nslog
- application program
- grand
- tested
- output function
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3636—Software debugging by tracing the execution of the program
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种NSLog输出函数的处理方法及装置,用以实现灵活地对NSLog输出函数进行处理的目的。所述方法包括:定义NSLog输出函数对应的宏;在对应用程序进行测试之前,添加所述NSLog输出函数对应的宏,以利用添加的所述宏对应用程序进行测试;在对应用程序进行发布时,遍历添加的所述宏,并删除。
Description
技术领域
本发明涉及互联网应用技术领域,特别涉及一种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_,[NSStringstringWithFormat“”])
#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输出函数进行处理的目的。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种NSLog输出函数的处理方法,其特征在于,包括:
定义NSLog输出函数对应的宏;
在对应用程序进行测试之前,添加所述NSLog输出函数对应的宏,以利用添加的所述宏对应用程序进行测试;
在对应用程序进行发布时,遍历添加的所述宏,并删除。
2.根据权利要求1所述的方法,其特征在于,定义NSLog输出函数对应的宏,包括:
定义在对应用程序进行测试时,NSLog打印数据,以及定义在对应用程序进行发布时,NSLog为空语句,不打印任何数据,得到NSLog输出函数对应的宏。
3.根据权利要求2所述的方法,其特征在于,定义NSLog输出函数对应的宏,包括:
在ProjectName_Prefix.pch中定义NSLog输出函数对应的宏。
4.根据权利要求2或3所述的方法,其特征在于,定义在对应用程序进行测试时,NSLog打印数据,包括:
获取对应用程序进行测试时NSLog的输出格式;
基于所述对应用程序进行测试时NSLog的输出格式,定义在对应用程序进行测试时的NSLog打印数据的格式。
5.根据权利要求1所述的方法,其特征在于,在对应用程序进行发布时,遍历添加的所述宏,包括:
在对应用程序进行发布时,在应用程序的发布版本的程序代码中遍历添加的所述宏。
6.一种NSLog输出函数的处理装置,其特征在于,包括:
定义模块,用于定义NSLog输出函数对应的宏;
添加模块,用于在对应用程序进行测试之前,添加所述NSLog输出函数对应的宏,以利用添加的所述宏对应用程序进行测试;
处理模块,用于在对应用程序进行发布时,遍历添加的所述宏,并删除。
7.根据权利要求6所述的装置,其特征在于,所述定义模块还用于:
定义在对应用程序进行测试时,NSLog打印数据,以及定义在对应用程序进行发布时,NSLog为空语句,不打印任何数据,得到NSLog输出函数对应的宏。
8.根据权利要7所述的装置,其特征在于,所述定义模块还用于:
在ProjectName_Prefix.pch中定义NSLog输出函数对应的宏。
9.根据权利要7或8所述的装置,其特征在于,所述定义模块还用于:
获取对应用程序进行测试时NSLog的输出格式;
基于所述对应用程序进行测试时NSLog的输出格式,定义在对应用程序进行测试时的NSLog打印数据的格式。
10.根据权利要6所述的装置,其特征在于,所述处理模块还用于:
在对应用程序进行发布时,在应用程序的发布版本的程序代码中遍历添加的所述宏。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610755957.6A CN106354639A (zh) | 2016-08-29 | 2016-08-29 | 一种NSLog输出函数的处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610755957.6A CN106354639A (zh) | 2016-08-29 | 2016-08-29 | 一种NSLog输出函数的处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106354639A true CN106354639A (zh) | 2017-01-25 |
Family
ID=57856845
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610755957.6A Pending CN106354639A (zh) | 2016-08-29 | 2016-08-29 | 一种NSLog输出函数的处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106354639A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101122880A (zh) * | 2007-09-17 | 2008-02-13 | 福建星网锐捷网络有限公司 | 内嵌调试器的嵌入式系统及嵌入式系统调试方法 |
CN102402478A (zh) * | 2010-09-08 | 2012-04-04 | 康佳集团股份有限公司 | 软件测试方法及装置 |
CN104461844A (zh) * | 2014-10-31 | 2015-03-25 | 大唐移动通信设备有限公司 | 一种基于规则的日志服务方法 |
US9003370B2 (en) * | 2010-03-04 | 2015-04-07 | Nec Corporation | Application modification portion searching device and application modification portion searching method |
CN105260315A (zh) * | 2015-11-13 | 2016-01-20 | 上海斐讯数据通信技术有限公司 | 一种在嵌入式系统进程中调试日志的方法 |
-
2016
- 2016-08-29 CN CN201610755957.6A patent/CN106354639A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101122880A (zh) * | 2007-09-17 | 2008-02-13 | 福建星网锐捷网络有限公司 | 内嵌调试器的嵌入式系统及嵌入式系统调试方法 |
US9003370B2 (en) * | 2010-03-04 | 2015-04-07 | Nec Corporation | Application modification portion searching device and application modification portion searching method |
CN102402478A (zh) * | 2010-09-08 | 2012-04-04 | 康佳集团股份有限公司 | 软件测试方法及装置 |
CN104461844A (zh) * | 2014-10-31 | 2015-03-25 | 大唐移动通信设备有限公司 | 一种基于规则的日志服务方法 |
CN105260315A (zh) * | 2015-11-13 | 2016-01-20 | 上海斐讯数据通信技术有限公司 | 一种在嵌入式系统进程中调试日志的方法 |
Non-Patent Citations (2)
Title |
---|
REMOTE_ROAME: "在ios iphone编程中使用封装的NSLog来打印调试信息", 《HTTPS://BLOG.CSDN.NET/REMOTE_ROAMER/ARTICLE/DETAILS/7107320》 * |
匿名: "IOS学习笔记,ios学习资料", 《WWW.BKJIA.COM/IOSJC/1049905.HTML》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10621068B2 (en) | Software code debugger for quick detection of error root causes | |
CN104102574B (zh) | 应用程序测试方法及装置 | |
CN107644286B (zh) | 工作流处理方法及装置 | |
US8949792B2 (en) | Methods and systems for data service development | |
WO2019072110A1 (zh) | 应用程序的生成方法、装置、系统、设备和介质 | |
WO2016197341A1 (en) | Webgl application analyzer | |
US20090319995A1 (en) | Enhancing source code debugging and readability using visual symbols | |
US9648139B2 (en) | Inserting server-side breakpoints requested by remote development clients | |
US8561028B1 (en) | Methods and systems for debugging event-driven software applications | |
JP6363152B2 (ja) | データフロー分析のための装置、方法、コンピュータプログラム及び記憶媒体 | |
CN106020823A (zh) | 一种前端Web表现与数据分离以及页面快速响应的方式 | |
US9117020B2 (en) | Determining control flow divergence due to variable value difference | |
CN110532175A (zh) | 接口测试方法、接口测试装置、服务器和存储介质 | |
CN105653268A (zh) | 规则引擎调试方法及系统 | |
CN110532182A (zh) | 一种虚拟化平台的自动化测试方法及装置 | |
CN109871312A (zh) | 一种接口测试方法、装置、设备及可读存储介质 | |
CN110727429A (zh) | 一种前端页面的生成方法、装置及设备 | |
WO2018001041A1 (zh) | 接口实现方法、装置、机顶盒及存储介质 | |
CN111078217A (zh) | 脑图生成方法、装置和计算机可读存储介质 | |
CN104317580A (zh) | 虚拟试验应用集成开发环境 | |
CN109144840A (zh) | 一种测试方法、装置及其设备 | |
US10846061B2 (en) | Development environment for real-time application development | |
CN106354639A (zh) | 一种NSLog输出函数的处理方法及装置 | |
US9436587B2 (en) | Test context generation | |
CN108614704B (zh) | 代码编译方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170125 |
|
RJ01 | Rejection of invention patent application after publication |