68

GitHub - DebugWidget/DebugWidget: Debug Widget for iOS

 5 years ago
source link: https://github.com/DebugWidget/DebugWidget
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

README.md

logo.png

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 Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK