/DebugMenu

Primary LanguageSwiftMIT LicenseMIT

DebugMenu

In-App iOS Debugging Tool With Enhanced Logging, Networking Info, Crash reporting And More.

Platform iOS

License MIT

The debugger tool for iOS developer. Display logs, network request, device informations, crash logs while using the app. Easy accessible with its bubble head button 🔘. Easy to integrate in any apps, to handle development or testing apps easier. First version, there is plenty of room for improvement.


Usage

In the AppDelegate instantiate DebugMenu manager. Be careful to use DebugMenu for development purpose only.

   func application(_ application: UIApplication,
   didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        #if DEBUG
            DebugMenu.sharedManager.enable()
        #endif
        return true
   }

Logs

DebugMenu overrides print, so you can use it and see your logs. otherwise, you can add level, and get more details (file, and line) about your logs. With the Logger class provided by the framework. Get new logs count on the badge, or warning/error notification on the bubble head.

print("logs")
Logger.verbose("some logs")
Logger.info("infos")
Logger.warning("warning ! ⚠️")
Logger.error("error ❌")

Network

DebugMenu uses URLProcotol to log the request. You can add the logger on a custom URLSessionConfiguration. It works with both Alamofire and URLSession.shared. You can disable the networking logging in the settings screen. You will get notified by a 🚀, when a request is launched.

//Your custom configuration
let configuration = URLSessionConfiguration.default

///Add the network logger on the configuration
DebugMenu.sharedManager.addLogger(session: configuration)

//Use it:
//For Alamofire
let sessionManager = Alamofire.SessionManager(configuration: configuration)

//For URLSession
let session = URLSession(configuration: configuration)

Installation

You can use CocoaPods to install DebugMenu by adding it to your Podfile:

platform :ios, '9.0'
use_frameworks!
pod 'DebugMenu'

Manually

Drag the source files into your project.

Contact

License

DebugMenu is released under the MIT License.