本發(fā)明涉及互聯(lián)網(wǎng)應用技術領域,特別涉及一種NSLog輸出函數(shù)的處理方法及裝置。
背景技術:
NSLog是擴充C的面向對象編程語言(Objective-C)中的輸出功能,其與C語言的printf相當,常用于文字輸出,在控制臺(console)中輸出顯示結果。在對應用程序進行開發(fā)測試時,程序中包含NSLog輸出函數(shù),能夠實時輸出一些運行數(shù)據(jù)來判斷程序是否正確的運行。但是在產(chǎn)品上線(即,發(fā)布應用程序)時,則需要刪除所有NSLog輸出函數(shù),否則會影響性能。如何批量刪除NSLog輸出函數(shù)成為亟待解決的技術問題。
技術實現(xiàn)要素:
本發(fā)明提供一種NSLog輸出函數(shù)的處理方法及裝置,用以實現(xiàn)靈活地對NSLog輸出函數(shù)進行處理的目的。
本發(fā)明提供一種NSLog輸出函數(shù)的處理方法,包括:
定義NSLog輸出函數(shù)對應的宏;
在對應用程序進行測試之前,添加所述NSLog輸出函數(shù)對應的宏,以利用添加的所述宏對應用程序進行測試;
在對應用程序進行發(fā)布時,遍歷添加的所述宏,并刪除。
在本發(fā)明一實施例中,定義NSLog輸出函數(shù)對應的宏,包括:
定義在對應用程序進行測試時,NSLog打印數(shù)據(jù),以及定義在對應用程序進行發(fā)布時,NSLog為空語句,不打印任何數(shù)據(jù),得到NSLog輸出函數(shù)對應的宏。
在本發(fā)明一實施例中,定義NSLog輸出函數(shù)對應的宏,包括:
在ProjectName_Prefix.pch中定義NSLog輸出函數(shù)對應的宏。
在本發(fā)明一實施例中,定義在對應用程序進行測試時,NSLog打印數(shù)據(jù),包括:
獲取對應用程序進行測試時NSLog的輸出格式;
基于所述對應用程序進行測試時NSLog的輸出格式,定義在對應用程序進行測試時的NSLog打印數(shù)據(jù)的格式。
在本發(fā)明一實施例中,定義在對應用程序進行測試時,NSLog打印數(shù)據(jù),包括:
獲取對應用程序進行測試時NSLog的輸出格式;
基于所述對應用程序進行測試時NSLog的輸出格式,定義在對應用程序進行測試時的NSLog打印數(shù)據(jù)的格式。
本發(fā)明還提供一種NSLog輸出函數(shù)的處理裝置,包括:
定義模塊,用于定義NSLog輸出函數(shù)對應的宏;
添加模塊,用于在對應用程序進行測試之前,添加所述NSLog輸出函數(shù)對應的宏,以利用添加的所述宏對應用程序進行測試;
處理模塊,用于在對應用程序進行發(fā)布時,遍歷添加的所述宏,并刪除。
在本發(fā)明一實施例中,所述定義模塊還用于:
定義在對應用程序進行測試時,NSLog打印數(shù)據(jù),以及定義在對應用程序進行發(fā)布時,NSLog為空語句,不打印任何數(shù)據(jù),得到NSLog輸出函數(shù)對應的宏。
在本發(fā)明一實施例中,所述定義模塊還用于:
在ProjectName_Prefix.pch中定義NSLog輸出函數(shù)對應的宏。
在本發(fā)明一實施例中,所述定義模塊還用于:
獲取對應用程序進行測試時NSLog的輸出格式;
基于所述對應用程序進行測試時NSLog的輸出格式,定義在對應用程序進行測試時的NSLog打印數(shù)據(jù)的格式。
在本發(fā)明一實施例中,所述處理模塊還用于:
在對應用程序進行發(fā)布時,在應用程序的發(fā)布版本的程序代碼中遍歷添加的所述宏。
在本發(fā)明實施例中,定義NSLog輸出函數(shù)對應的宏;在對應用程序進行測試之前,添加NSLog輸出函數(shù)對應的宏,以利用添加的所述宏對應用程序進行測試;在對應用程序進行發(fā)布時,遍歷添加的所述宏,并刪除。由此可見,本發(fā)明實施例基于NSLog輸出函數(shù)對應的宏,能夠實現(xiàn)靈活地對NSLog輸出函數(shù)進行處理的目的。
本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在所寫的說明書、權利要求書、以及附圖中所特別指出的結構來實現(xiàn)和獲得。
下面通過附圖和實施例,對本發(fā)明的技術方案做進一步的詳細描述。
附圖說明
附圖用來提供對本發(fā)明的進一步理解,并且構成說明書的一部分,與本發(fā)明的實施例一起用于解釋本發(fā)明,并不構成對本發(fā)明的限制。在附圖中:
圖1所示為本發(fā)明一實施例中NSLog輸出函數(shù)的處理方法的流程圖;
圖2所示為本發(fā)明另一實施例中NSLog輸出函數(shù)的處理方法的流程圖;以及
圖3所示為本發(fā)明一實施例中NSLog輸出函數(shù)的處理裝置的結構示意圖。
具體實施方式
以下結合附圖對本發(fā)明的優(yōu)選實施例進行說明,應當理解,此處所描述的優(yōu)選實施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。
如前文介紹,因為NSLog的輸出比較消耗系統(tǒng)資源,而且輸出的數(shù)據(jù)也可能會暴露出應用程序中的保密數(shù)據(jù),所以發(fā)布正式版時需要把這些輸出全部屏蔽掉。
如圖1所示為本發(fā)明一實施例中NSLog輸出函數(shù)的處理方法的流程圖,該方法可以包括以下步驟S11-S13。
步驟S11,定義NSLog輸出函數(shù)對應的宏。
在該步驟中,在定義NSLog輸出函數(shù)對應的宏時,可以定義在對應用程序進行測試時,NSLog打印數(shù)據(jù),以及定義在對應用程序進行發(fā)布時,NSLog為空語句,不打印任何數(shù)據(jù),得到NSLog輸出函數(shù)對應的宏。
步驟S12,在對應用程序進行測試之前,添加NSLog輸出函數(shù)對應的宏,以利用添加的所述宏對應用程序進行測試。
步驟S13,在對應用程序進行發(fā)布時,遍歷添加的所述宏,并刪除。
在本發(fā)明實施例中,定義NSLog輸出函數(shù)對應的宏;在對應用程序進行測試之前,添加NSLog輸出函數(shù)對應的宏,以利用添加的所述宏對應用程序進行測試;在對應用程序進行發(fā)布時,遍歷添加的所述宏,并刪除。由此可見,本發(fā)明實施例基于NSLog輸出函數(shù)對應的宏,能夠實現(xiàn)靈活地對NSLog輸出函數(shù)進行處理的目的。
在本發(fā)明的可選實施例中,在定義NSLog輸出函數(shù)對應的宏時,定義代碼如下:
#ifdef DEBUG
#define LRLog(…)NSlog(@“%s第%d行\(zhòng)n%@\n\n”,_func_,_Line_,[NSString stringWithFormat“”])
#else
#define LRLog(…)
#endif
在步驟S13在對應用程序進行發(fā)布時,遍歷添加的所述宏,其代碼如下:
上文步驟S11中定義NSLog輸出函數(shù)對應的宏時,可以是在ProjectName_Prefix.pch中定義NSLog輸出函數(shù)對應的宏。
在定義在對應用程序進行測試時,NSLog打印數(shù)據(jù)時,本發(fā)明實施例提供了一種可選的方案,該方案包括以下步驟A1-A2。
步驟A1,獲取對應用程序進行測試時NSLog的輸出格式。
步驟A2,基于對應用程序進行測試時NSLog的輸出格式,定義在對應用程序進行測試時的NSLog打印數(shù)據(jù)的格式。
在本發(fā)明的可選實施例中,在對應用程序進行發(fā)布時,遍歷添加的所述宏時,可以在應用程序的發(fā)布版本的程序代碼中遍歷添加的所述宏。
下面通過一具體實施例來詳細介紹本發(fā)明的NSLog輸出函數(shù)的處理方法的實現(xiàn)過程。如圖2所示為本發(fā)明另一實施例中NSLog輸出函數(shù)的處理方法的流程圖,該方法可以包括以下步驟S21-S25。
步驟S21,在ProjectName_Prefix.pch中,獲取對應用程序進行測試時NSLog的輸出格式。
步驟S22,基于對應用程序進行測試時NSLog的輸出格式,定義在對應用程序進行測試時的NSLog打印數(shù)據(jù)的格式。
步驟S23,定義在對應用程序進行發(fā)布時,NSLog為空語句,不打印任何數(shù)據(jù),得到NSLog輸出函數(shù)對應的宏。
在該步驟中,定義NSLog輸出函數(shù)對應的宏的代碼,可以參照前文介紹,此處不再贅述。
步驟S24,在對應用程序進行測試之前,添加NSLog輸出函數(shù)對應的宏,以利用添加的所述宏對應用程序進行測試。
步驟S25,在對應用程序進行發(fā)布時,在應用程序的發(fā)布版本的程序代碼中遍歷添加的所述宏。
在該步驟中,在對應用程序進行發(fā)布時遍歷添加的所述宏,可以參照前文介紹,此處不再贅述。
本發(fā)明實施例基于NSLog輸出函數(shù)對應的宏,能夠實現(xiàn)靈活地對NSLog輸出函數(shù)進行處理的目的。
需要說明的是,在實際應用中,上述所有可選實施方式可以采用結合的方式任意組合,形成本發(fā)明的可選實施例,在此不再一一贅述。
對應于上述實施例中的NSLog輸出函數(shù)的處理方法,本發(fā)明還提供一種NSLog輸出函數(shù)的處理裝置。如圖3所示為本發(fā)明一實施例中NSLog輸出函數(shù)的處理裝置的結構示意圖,包括:
定義模塊31,用于定義NSLog輸出函數(shù)對應的宏;
添加模塊32,用于在對應用程序進行測試之前,添加所述NSLog輸出函數(shù)對應的宏,以利用添加的所述宏對應用程序進行測試;
處理模塊33,用于在對應用程序進行發(fā)布時,遍歷添加的所述宏,并刪除。
在本發(fā)明一實施例中,上述定義模塊31還用于:
定義在對應用程序進行測試時,NSLog打印數(shù)據(jù),以及定義在對應用程序進行發(fā)布時,NSLog為空語句,不打印任何數(shù)據(jù),得到NSLog輸出函數(shù)對應的宏。
在本發(fā)明一實施例中,上述定義模塊31還用于:
在ProjectName_Prefix.pch中定義NSLog輸出函數(shù)對應的宏。
在本發(fā)明一實施例中,上述定義模塊31還用于:
獲取對應用程序進行測試時NSLog的輸出格式;
基于所述對應用程序進行測試時NSLog的輸出格式,定義在對應用程序進行測試時的NSLog打印數(shù)據(jù)的格式。
在本發(fā)明一實施例中,上述處理模塊33還用于:
在對應用程序進行發(fā)布時,在應用程序的發(fā)布版本的程序代碼中遍歷添加的所述宏。
本發(fā)明實施例的上述裝置:定義NSLog輸出函數(shù)對應的宏;在對應用程序進行測試之前,添加NSLog輸出函數(shù)對應的宏,以利用添加的所述宏對應用程序進行測試;在對應用程序進行發(fā)布時,遍歷添加的所述宏,并刪除。由此可見,本發(fā)明實施例基于NSLog輸出函數(shù)對應的宏,能夠實現(xiàn)靈活地對NSLog輸出函數(shù)進行處理的目的。
本領域內(nèi)的技術人員應明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器和光學存儲器等)上實施的計算機程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導計算機或其他可編程數(shù)據(jù)處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設備上,使得在計算機或其他可編程設備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
顯然,本領域的技術人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權利要求及其等同技術的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。