image1 image2 image3 image4 image5 image6


App Settings

  • Crash Reports: Access detailed crash reports for analysis and debugging.
  • Change Location: Simulate different locations for testing location-based features.
  • Console: Monitor and interact with the application's console logs.
  • Custom Info: Add custom information for quick access during debugging.
  • Version: View the current application version.
  • Build: Identify the application's build number.
  • Bundle Name: Retrieve the application's bundle name.
  • Bundle ID: Display the unique bundle identifier for the application.
  • Device Infos: Access information about the device running the application.


  • Grid: Overlay a grid on the interface to assist with layout alignment.
  • Slow Animations: Slow down animations for better visualization and debugging.
  • Showing Touches: Highlight touch events for easier interaction tracking.
  • Colorized View with Borders: Apply colorization and borders to views for improved visibility.

Network Logs

  • All Response/Request Logs: Capture and review detailed logs of all network requests and responses.


  • CPU, Memory, FPS: Monitor and analyze CPU usage, memory consumption, and frames per second in real-time.


  • Keychain: Inspect and manage data stored in the keychain.
  • User Defaults: View and modify user defaults for testing different application states.
  • Files: Access and analyze files stored by the application.

Getting Started



Add the following line to your Podfile:

pod 'DebugSwift', :git => '', :branch => 'main'

Then, run:

pod install

Swift Package Manager (SPM)

Add the following dependency to your Package.swift file:

.package(url: "", from: "main")

Then, add "DebugSwift" to your target's dependencies.


func application(
    _: UIApplication,
    didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {

    return true

Usage to show or hide with shake.

extension UIWindow {
    open override func motionEnded(_ motion: UIEvent.EventSubtype, with event: UIEvent?) {
        super.motionEnded(motion, with: event)
        if motion == .motionShake {


Network Configuration

If you want to ignore specific URLs, use the following code:

DebugSwift.Network.ignoredURLs = [""]

If you want to capture only a specific URL, use the following code:

DebugSwift.Network.onlyURLs = [""]

Adjust the URLs in the arrays according to your needs.

App Custom Data

DebugSwift.App.customInfo = {
            title: "Info 1",
            infos: [
                .init(title: "title 1", subtitle: "title 2")




Contributions are welcome! If you have suggestions, improvements, or bug fixes, please submit a pull request. Let's make DebugSwift even more powerful together!


DebugSwift is licensed under the MIT License - see the LICENSE file for details.


InAppViewDebugger CocoaDebug DBDebugToolkit


View Github