Skip to content

Use in Debug environment

HDB-Li edited this page Jun 8, 2018 · 6 revisions

This page is show how to use LLDebugTool only in Debug environment.

点击查看中文简介

CocoaPods

Typically, when you only want to use a library in a Debug environment, you'll write a line in Podfile like this pod 'LLDebugTool':configurations => ['Debug'].

When you integrate in this way, you will find that your code will have a lot of errors in the Release environment, and you can solve most of the LLDebugTool and LLConfig errors in the following ways. You can ensure that this code is only compiled in a Debug environment by wrapping the LLDebugTool code in #ifdef DEBUG and #endif.

#ifdef DEBUG
#import "LLDebug.h"
#endif

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
#ifdef DEBUG
    [LLConfig sharedConfig].userIdentity = @"Your user Identity";
    [[LLDebugTool sharedTool] startWorking];
#endif
}

If it's an LLog macro or any other LLog macro, it's especially silly to do this because you need to add a #ifdef DEBUG and #endif before and after every LLog macro everywhere. To solve this problem, look at the LLDebugToolMacros.h and copy the following code into your PCH file.

// Your PCH file.
#ifndef DEBUG
 #define LLog(fmt, ...) NSLog(fmt)
 #define LLog_Event(event , fmt , ...) NSLog(fmt)
 #define LLog_Alert(fmt, ...) NSLog(fmt)
 #define LLog_Alert_Event(event, fmt , ...) NSLog(fmt)
 #define LLog_Warning(fmt, ...) NSLog(fmt)
 #define LLog_Warning_Event(event, fmt , ...) NSLog(fmt)
 #define LLog_Error(fmt, ...) NSLog(fmt)
 #define LLog_Error_Event(event, fmt , ...) NSLog(fmt)
#endif

This solves all the reporting errors, and the LLog macro calls the LLDebugTool method when the DEBUG environment is run, and NSLog methods when the Release environment is run.

Source files

Coming soon.