Contents

aksamitsah/CocoaDebug

iOS Debugging Tool 🚀

Screenshot

<img src="https://raw.githubusercontent.com/CocoaDebug/CocoaDebug/master/pic/a1.png" width="250"> <img src="https://raw.githubusercontent.com/CocoaDebug/CocoaDebug/master/pic/a2.png" width="250"> <img src="https://raw.githubusercontent.com/CocoaDebug/CocoaDebug/master/pic/a3.png" width="250"> <img src="https://raw.githubusercontent.com/CocoaDebug/CocoaDebug/master/pic/a4.png" width="250"> <img src="https://raw.githubusercontent.com/CocoaDebug/CocoaDebug/master/pic/a5.png" width="250"> <img src="https://raw.githubusercontent.com/CocoaDebug/CocoaDebug/master/pic/a6.png" width="250">

Introduction

  • [x] As similar with Charles in your App.
  • [x] Shake to hide or show the black bubble. (Support iPhone device and simulator)
  • [x] Share network details via email or copy to clipboard when you are in the Network Details page.
  • [x] Copy logs. (Long press the text, then select all or select copy)
  • [x] Search logs by keyword.
  • [x] Long press the black bubble to clean all network logs.
  • [x] Detect UI Blocking.
  • [x] List crash errors.
  • [x] List application and device informations, including: version, build, bundle name, bundle id, screen resolution, device, iOS version
  • [x] List all network requests sent by the application. (Support JSON and Google's Protocol buffers)
  • [x] List all sandbox folders and files, supporting to preview and edit.
  • [x] List all WKWebView consoles.
  • [x] List all React Native JavaScript consoles and Native logs.
  • [x] List all print() and NSLog() messages which have been written by developer in Xcode.

Installation

CocoaPods (Preferred)

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

Carthage

github  "CocoaDebug/CocoaDebug"

Framework

CocoaDebug.framework (Version 1.7.2)

WARNING: Never ship a product which has been linked with the CocoaDebug framework. The Integration Guide outline a way to use build configurations to isolate linking the framework to Debug builds.

Usage

  • Don't need to do anything. CocoaDebug will start automatically.
  • To capture logs from Xcode with codes: (You can also set this in CocoaDebug->App->Monitor->Applogs without any codes.)
CocoaDebugSettings.shared.enableLogMonitoring = true //The default value is false

Parameters

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

  • serverURL - If the captured URLs contain server URL, CocoaDebug set server URL bold font to be marked. Not mark when this value is nil. Default value is nil.
  • ignoredURLs - Set the URLs which should not been captured, CocoaDebug capture all URLs when the value is nil. Default value is nil.
  • onlyURLs - Set the URLs which are only been captured, CocoaDebug capture all URLs when the value is nil. Default value is nil.
  • ignoredPrefixLogs - Set the prefix Logs which should not been captured, CocoaDebug capture all Logs when the value is nil. Default value is nil.
  • onlyPrefixLogs - Set the prefix Logs which are only been captured, CocoaDebug capture all Logs when the value is nil. Default value is nil.
  • additionalViewController - Add an additional UIViewController as child controller of CocoaDebug's main UITabBarController. Default value is nil.
  • 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 CocoaDebug's main color with hexadecimal format. Default value is #42d459.
  • protobufTransferMap - Protobuf data transfer to JSON map. Default value is nil.

Reference

https://developer.apple.com/library/archive/samplecode/CustomHTTPProtocol/Introduction/Intro.html

Package Metadata

Repository: aksamitsah/CocoaDebug

Stars: 0

Forks: 0

Open issues: 0

Default branch: master

Primary language: swift

README: README.md

Fork: yes