Skip to content
:octocat:
coding
:octocat:
coding

Highlights

  • Arctic Code Vault Contributor
CocoaDebug/README.md
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.

  • Long press the black bubble to clean all network logs.

  • 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

Installation

CocoaPods

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

Carthage

github "CocoaDebug/CocoaDebug"

Framework

Drag CocoaDebug.framework into project and set Embed in Xcode.

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

#if DEBUG
    import CocoaDebug
#endif

#if DEBUG
    CocoaDebug.enable()
#endif

Objective-C

#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_Objc or Example_Swift 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.

Pinned

  1. iOS Debugging Tool 🚀

    Swift 3.5k 354

  2. Google Translate (Mac OS Client) 🖥️

    Objective-C 123 40

268 contributions in the last year

Aug Sep Oct Nov Dec Jan Feb Mar Apr May Jun Jul Mon Wed Fri

Contribution activity

July 2020

Seeing something unexpected? Take a look at the GitHub profile guide.

You can’t perform that action at this time.