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 🔘. Easy to integrate in any apps, to handle development or testing apps easier. First version, there is plenty of room for improvement.
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
}
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 ❌")
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)
You can use CocoaPods to install DebugMenu
by adding it to your Podfile
:
platform :ios, '9.0'
use_frameworks!
pod 'DebugMenu'
Drag the source files into your project.
- Andrey Volodin
- Twitter: @s1ddok
DebugMenu is released under the MIT License.