69

GitHub - CocoaDebug/CocoaDebug: iOS Debugging Tool

 5 years ago
source link: https://github.com/CocoaDebug/CocoaDebug
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

CocoaDebug

中文介绍

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

iOS Debugging Tool

Introduction

example

  • Shake to hide/show the black bubble. (support both device/simulator)

  • Long press the black bubble to show UIDebuggingInformationOverlay. (Apple's Private API, support iOS 10/11)

  • You can copy app logs and network logs as you like. (long press the text, then select all or select copy)


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

Installation

CocoaPods

platform :ios, '8.0'
use_frameworks!

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

Carthage

github "CocoaDebug/CocoaDebug"

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

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

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

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

CocoaDebug is released under the MIT license.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK