DebugMenu
In-App iOS Debugging Tool With Enhanced Logging, Networking Info, Crash reporting And More.
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
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

//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
CocoaPods
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
- Andrey Volodin
- Twitter: @s1ddok
License
DebugMenu is released under the MIT License.