/DotzuX

Next Generation of Dotzu (iOS Debugging Tool)

Primary LanguageSwiftMIT LicenseMIT

DotzuX

Build Status Codacy Badge CocoaPods Compatible Carthage Compatible Platform Languages codecov License MIT

Next Generation of Dotzu (iOS Debugging Tool)

Introduction

example

Installation

CocoaPods

platform :ios, '8.0'
use_frameworks!

target 'YourTargetName' do
    pod 'DotzuX', :configurations => ['Debug']
end

Carthage

github "DotzuX/DotzuX"

WARNING: It is not recommended to submit .ipa to AppStore which has been linked with the DotzuX.framework. This Integration Guide outline a way to use build configurations to isolate linking the framework to Debug builds only.

Usage

Swift

//Step 1.
#if DEBUG
    import DotzuX
#endif

//Step 2.
#if DEBUG
    DotzuX.enable()
#endif

//Step 3.
public func print<T>(file: String = #file, function: String = #function, line: Int = #line, _ message: T, color: UIColor = .white) {

    #if DEBUG
        swiftLog(file, function, line, message, color)
    #endif
}

Objective-C

//Step 1.
#ifdef DEBUG
    @import DotzuX;
#endif

//Step 2.
#ifdef DEBUG
    [DotzuX enable];
#endif

//Step 3.
#ifdef DEBUG
    #define NSLog(fmt, ...) [DotzuX objcLog:[[NSString stringWithUTF8String:__FILE__] lastPathComponent] :NSStringFromSelector(_cmd) :__LINE__ :(fmt, ##__VA_ARGS__) :[UIColor whiteColor]]
#else
    #define NSLog(fmt, ...) nil
#endif

Please check Example_Swift.xcodeproj and Example_Objc.xcodeproj for more advanced usage.

NOTE: Be careful with Other Swift Flags & Preprocessor Macros when using Swift & Objective-C in one project. You can refer to here.

TODO

  • Unit Testing

License

DotzuX is released under the MIT license.