Skip to content

liam6t/CocoaDebug

 
 

Repository files navigation

logo
Travis CI Build Status
Codacy Codacy Badge
Codecov codecov
Frameworks Carthage Compatible CocoaPods Compatible
Languages Languages
Platform Platform
Licence License MIT

Screenshot

Introduction

  • Shake to hide or show the black bubble. (Support iPhone device and simulator)

  • Share network details via email or copy to clipboard when you are in the Network Details page.

  • Copy logs. (Long press the text, then select all or select copy)

  • Search logs by keyword.

  • List crash errors.

  • List all print() and NSLog() messages which have been written by developer in Xcode.

  • List of all the network requests sent by the application. (Support JSON and Google's Protocol buffers)

  • List application and device informations, including: version, build, bundle name, bundle id, screen resolution, device, iOS version

  • List all sandbox folders and files, supporting to preview and edit.

  • List HTML logs, including console.log(),console.debug(),console.warn(),console.error(),console. info(). (support WKWebView and UIWebView). UIWebView Deprecated

  • Application memory usage and FPS. Deprecated

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

Installation

CocoaPods

target 'YourTargetName' do
    use_frameworks!
    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

Launch application and debug with CocoaDebug .

NOTE: If auto launch failed, Please enable manually by CocoaDebug.enable() or [CocoaDebug enable].

Swift (Enable CocoaDebug manually)

#if DEBUG
    import CocoaDebug
#endif

#if DEBUG
    CocoaDebug.enable()
#endif

Objective-C (Enable CocoaDebug manually)

#ifdef DEBUG
    @import CocoaDebug;
#endif

#ifdef DEBUG
    [CocoaDebug enable];
#endif

More Advanced Usage

#ifdef DEBUG
    [CocoaDebugTool logWithString:string];
    
    NSString *prettyJSON = [CocoaDebugTool logWithJsonData:data];

    NSString *prettyJSON = [CocoaDebugTool logWithProtobufData:data className:@"protobuf_className"];
#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.

Parameters

When you initialize CocoaDebug, you can customize the following parameter values before CocoaDebug.enable().

  • serverURL - If the crawled URLs contain server URL ,set these URLs bold font to be marked. not mark when this value is nil. default value is nil.

  • ignoredURLs - Set the URLs which should not crawled, ignoring case, crawl all URLs when the value is nil. default value is nil.

  • onlyURLs - Set the URLs which are only crawled, ignoring case, crawl all URLs when the value is nil. default value is nil.

  • tabBarControllers - Set controllers to be added as child controllers of UITabBarController. default value is nil.

  • logMaxCount - The maximum count of logs which CocoaDebug display. default value is 1000.

  • emailToRecipients - Set the initial recipients to include in the email’s “To” field when share via email. default value is nil.

  • emailCcRecipients - Set the initial recipients to include in the email’s “Cc” field when share via email. default value is nil.

  • mainColor - Set the main color with hexadecimal format. default value is #42d459.

  • protobufTransferMap - Protobuf data transfer to JSON map. default value is nil.

TODO

Thanks

Special thanks to remirobert.

License

CocoaDebug is released under the MIT license.

About

iOS Debugging Tool 🚀

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift 99.0%
  • Other 1.0%