
Installation
Swift Package Manager
Select File > Swift Packages > Add Package Dependency.
Enter https://github.com/noppefoxwolf/DebugMenu in the “Choose Package Repository” dialog.
.package(url: "https://github.com/noppefoxwolf/DebugMenu", from: "2.0.4")
Usage
UIKit based
#if DEBUG
DebugMenu.install(windowScene: windowScene, items: [
ViewControllerDebugItem<ColorViewController>(),
ClearCacheDebugItem(),
UserDefaultsResetDebugItem(),
CustomDebugItem()
], dashboardItems: [
CPUUsageDashboardItem()
])
#endif
SwiftUI based
@main
struct App: SwiftUI.App {
var body: some Scene {
WindowGroup {
Root.View(
store: .init(
initialState: .init(),
reducer: Root.reducer,
environment: .debug
)
).debugMenu(debuggerItems: [
ViewControllerDebugItem<ColorViewController>(),
ClearCacheDebugItem(),
UserDefaultsResetDebugItem(),
CustomDebugItem()
], dashboardItems: [
CPUUsageDashboardItem()
])
}
}
}
Custom debug item
struct CustomDebugItem: DebugItem {
let debugItemTitle: String = "Custom item"
let action: DebugItemAction = .toggle { UserDefaults.standard.bool(forKey: "key") } action: { (isOn, completions) in
let updater = Updater()
do {
await updater.update()
return .success(message: "Updated")
} catch {
return .failure(message: "Faild to update")
}
}
}
Custom dashboard item
public class CustomDashboardItem: DashboardItem {
public init() {}
public func startMonitoring() {}
public func stopMonitoring() {}
public let fetcher: MetricsFetcher = .text {
let formatter = DateFormatter()
formatter.dateFormat = "HH:mm:ss"
return formatter.string(from: Date())
}
public var title: String = "Date"
}
Read following article.
Linking a Swift package only in debug builds
How to use
Tap floating bug button.
Show Dashboard
Longpress floating bug button, and tap Show widget
.
License
License
DebugMenu is released under the MIT license. See LICENSE for details.
DebugMenu
Installation
Swift Package Manager
Select File > Swift Packages > Add Package Dependency.
Enter https://github.com/noppefoxwolf/DebugMenu in the “Choose Package Repository” dialog.
Usage
UIKit based
SwiftUI based
Custom debug item
Custom dashboard item
Exclude DebugMenu in production
Read following article. Linking a Swift package only in debug builds
How to use
Open DebugMenu
Tap floating bug button.
Show Dashboard
Longpress floating bug button, and tap
Show widget
.License
License DebugMenu is released under the MIT license. See LICENSE for details.