分享:iOS调试小工具(Swift)

分享 · DotzuX · 发布于 24 天前 · 122 次阅读

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.

共收到 0 条回复
回帖