Skip to content

dimkah/DebugWidget

 
 

Repository files navigation

DebugWidget

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

Debug Widget for iOS

Introduction

example

New feature

When you are in the Network Details page, you can shake device or simulator to share network details via email or copy to clipboard.

Added two new parameters when initialize DebugWidget:

  • emailToRecipients

      emailToRecipients: sets the initial recipients to include in the email’s “To” field when share via email. default value is `nil`.
    
  • emailCcRecipients

      emailCcRecipients: sets the initial recipients to include in the email’s “Cc” field when share via email. default value is `nil`.
    

Installation

CocoaPods

platform :ios, '8.0'
use_frameworks!

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

Carthage

github "DebugWidget/DebugWidget"

WARNING: Don't submit .ipa to AppStore which has been linked with the DebugWidget.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 DebugWidget
#endif

//Step 2.
#if DEBUG
    DebugWidget.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 DebugWidget;
#endif

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

//Step 3.
#ifdef DEBUG
    #define NSLog(fmt, ...) [DebugWidget 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

DebugWidget is released under the MIT license.

About

Debug Widget for iOS

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift 99.2%
  • Other 0.8%