[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-10920":3},{"id":4,"name":5,"fullName":6,"owner":5,"repo":5,"description":7,"homepage":8,"htmlUrl":9,"language":10,"languages":8,"totalLinesOfCode":8,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":8,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":15,"forks30d":15,"starsTrendScore":19,"compositeScore":20,"rankGlobal":8,"rankLanguage":8,"license":8,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":21,"hasPages":21,"topics":23,"createdAt":8,"pushedAt":8,"updatedAt":44,"readmeContent":45,"aiSummary":46,"trendingCount":15,"starSnapshotCount":15,"syncStatus":47,"lastSyncTime":48,"discoverSource":49},10920,"DebugSwift","DebugSwift\u002FDebugSwift","A toolkit to make debugging iOS applications easier 🚀",null,"https:\u002F\u002Fgithub.com\u002FDebugSwift\u002FDebugSwift","Swift",2315,201,12,26,0,8,17,123,24,28.92,false,"main",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"debug","swift","ui","uikit","view","analysis","analytics","crashlytics","layout-debugger","logs-analysis","performance-analysis","cocoapods","debugger","debugging","log","networking","sandbox","leak-detection","hacktoberfest","swift6","2026-06-12 02:02:28","\u003Ch1 align=\"center\">\nDebugSwift\n\u003C\u002Fh1>\n\n\u003Cp align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPlatforms-iOS%2014.0+-blue.svg\"\u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002FDebugSwift\u002FDebugSwift?style=flat&label=Swift%20Package%20Index&color=red\"\u002F>    \n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fendpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2FDebugSwift%2FDebugSwift%2Fbadge%3Ftype%3Dswift-versions\"\u002F>\n\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002FDebugSwift\u002FDebugSwift?style=flat\"\u002F>\n\u003C\u002Fp>\n\u003Cp align=\"center\">\n\u003Ca href=\"https:\u002F\u002Ftrendshift.io\u002Frepositories\u002F12656\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Ftrendshift.io\u002Fapi\u002Fbadge\u002Frepositories\u002F12656\" alt=\"DebugSwift%2FDebugSwift | Trendshift\" style=\"width: 250px; height: 55px;\" width=\"250\" height=\"55\"\u002F>\u003C\u002Fa>\n\u003C\u002Fp>\n\n| | |\n|---|---|\n| \u003Cimg width=\"300\" src=\"https:\u002F\u002Fgithub.com\u002FDebugSwift\u002FDebugSwift\u002Fassets\u002F31082311\u002F3d219290-ba08-441a-a4c7-060f946683c2\" \u002F> | \u003Cp align=\"left\">DebugSwift is a comprehensive toolkit designed to streamline and elevate the debugging experience for Swift-based applications. Whether you are troubleshooting issues or optimizing performance, DebugSwift offers a powerful set of features to make your debugging process more efficient and effective.\u003C\u002Fp> |\n|  |  |\n\n---\n\n\u003Cimg width=\"1970\" alt=\"Image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fa569b038-9058-4260-ae7c-47f3376cf629\" \u002F>\n\u003Cimg width=\"1970\" alt=\"Image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F334ccefa-5951-494f-8faa-5f016d39f946\" \u002F>\n\u003Cimg width=\"1970\" alt=\"Image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F246cde3c-7a14-45de-ae01-e810c42d8e65\" \u002F>\n\u003Cimg width=\"1970\" alt=\"Image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Ffadde188-dcba-46d8-9460-762f9be98bd6\" \u002F>\n\u003Cimg width=\"1970\" height=\"1184\" alt=\"Image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F8085e55c-a7e6-4e3b-8ceb-8fc7034480fe\" \u002F>\n\u003Cimg width=\"1970\" alt=\"Image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fa435a660-a4b2-4a3f-852e-a7bf0709e75e\" \u002F>\n\u003Cimg width=\"1970\" alt=\"Image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F15f34de1-214f-4bc3-95bc-b25efc2d383e\" \u002F>\n\n## 📋 Table of Contents\n\n- [🚀 Features](#features)\n- [🛠 Installation & Setup](#installation--setup)\n- [🔧 Troubleshooting](#troubleshooting)\n- [📝 Examples](#examples)\n- [🔧 Configuration](#configuration)\n\n## Requirements\n\n- **iOS 14.0+**\n- **Swift 6.0+**\n- **Xcode 16.0+**\n\n## Features\n\n### 🌐 Network Inspector\n- **HTTP Monitoring:** Capture all requests\u002Fresponses with detailed logs and filtering\n- **WebSocket Inspector:** Zero-config automatic monitoring of WebSocket connections and frames\n- **Request Limiting:** Set thresholds to monitor and control API usage\n- **Smart Content:** Automatic JSON formatting with syntax highlighting\n- **Encryption Support:** Automatic decryption of encrypted API responses with AES-256\u002F128 and custom decryptors\n\n### ⚡ Performance\n- **Real-time Metrics:** Monitor CPU, memory, and FPS in real-time\n- **Memory Leak Detection:** Automatic detection of leaked ViewControllers and Views\n- **Thread Checker:** Detect main thread violations with detailed stack traces\n- **Performance Widget:** Overlay displaying live performance stats\n\n### 📱 App Tools\n- **Crash Reports:** Detailed crash analysis with screenshots and stack traces\n- **Console Logs:** Real-time console output monitoring and filtering\n- **Device Info:** App version, build, device details, and more\n- **APNS Tokens:** Easy access and copying of push notification tokens\n- **Custom Actions:** Add your own debugging actions and info\n\n### 🎨 Interface Tools\n- **Grid Overlay:** Visual alignment grid with customizable colors and opacity\n- **View Hierarchy:** 3D interactive view hierarchy inspector\n- **Touch Indicators:** Visual feedback for touch interactions\n- **Animation Control:** Slow down animations for easier debugging\n- **View Borders:** Highlight view boundaries with colorization\n- **SwiftUI Render Tracking (Beta):** Automatically detect and visualize SwiftUI view re-renders with dedicated settings screen\n\n### 📁 Resources\n- **File Browser:** Navigate app sandbox and shared app group containers\n- **UserDefaults:** View and modify app preferences at runtime\n- **Keychain:** Inspect keychain entries\n- **Database Browser:** SQLite and Realm database inspection\n- **Push Notifications:** Simulate push notifications with templates and test scenarios\n- **SwiftData Browser (iOS 17+):** Inspect registered SwiftData containers, browse models, inspect properties\u002Frelationships, edit values, and export JSON\n\n## Installation & Setup\n\n### 🍃 Swift Package Manager (Recommended)\n\nAdd to your `Package.swift`:\n\n```swift\ndependencies: [\n    .package(url: \"https:\u002F\u002Fgithub.com\u002FDebugSwift\u002FDebugSwift.git\", from: \"1.0.0\")\n]\n```\n\nOr add through Xcode: `File` > `Add Package Dependencies` > Enter URL:\n```\nhttps:\u002F\u002Fgithub.com\u002FDebugSwift\u002FDebugSwift\n```\n\n### 🎯 CocoaPods\n\n#### Option 1: Source Distribution (Standard)\nAdd to your `Podfile`:\n\n```ruby\npod 'DebugSwift'\n```\n\n#### Option 2: XCFramework Distribution (Faster Builds) ⚡\nAdd to your `Podfile`:\n\n```ruby\npod 'DebugSwift', :http => 'https:\u002F\u002Fgithub.com\u002FDebugSwift\u002FDebugSwift\u002Freleases\u002Flatest\u002Fdownload\u002FDebugSwift.xcframework.zip'\n```\n\n### 🍎 Apple Silicon Support\n\nDebugSwift **fully supports Apple Silicon Macs** with native arm64 simulator builds! No more architecture exclusions or compatibility issues.\n\n**Supported Architectures:**\n- 📱 **iOS Device**: arm64\n- 🖥️ **iOS Simulator**: arm64 (Apple Silicon) + x86_64 (Intel)\n\n**Migration Note:** If you were using architecture exclusions like `'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'arm64'`, you can now **remove them** as they are no longer needed.\n\n### Basic Setup\n\n```swift\nimport DebugSwift\n\n@main\nclass AppDelegate: UIResponder, UIApplicationDelegate {\n    private let debugSwift = DebugSwift()\n    \n    func application(\n        _ application: UIApplication,\n        didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?\n    ) -> Bool {\n        \n        #if DEBUG\n        debugSwift.setup()\n        \u002F\u002F debugSwift.setup(disable: [.leaksDetector])\n        debugSwift.show()\n        #endif\n        \n        return true\n    }\n}\n```\n\n### Shake to Toggle (Optional)\n\n```swift\nextension UIWindow {\n    open override func motionEnded(_ motion: UIEvent.EventSubtype, with event: UIEvent?) {\n        super.motionEnded(motion, with: event)\n        \n        #if DEBUG\n        if motion == .motionShake {\n            if let appDelegate = UIApplication.shared.delegate as? AppDelegate {\n                appDelegate.debugSwift.toggle()\n            }\n        }\n        #endif\n    }\n}\n```\n\n### Open Debugger Programmatically\n\nYou can get the debug menu as a standalone `UIViewController` and present it however you like — push, present modally, embed in your own navigation. No floating ball required.\n\n```swift\n\u002F\u002F 1. Setup (without floating ball)\n#if DEBUG\nDebugSwift().setup()\n\u002F\u002F Don't call .show() — no floating ball will appear\n#endif\n\n\u002F\u002F 2. Get the debug view controller and present it yourself\nlet debugVC = DebugSwift.debugViewController()\n\n\u002F\u002F Push into your navigation stack\nnavigationController?.pushViewController(debugVC, animated: true)\n\n\u002F\u002F Or present modally\nlet nav = UINavigationController(rootViewController: debugVC)\npresent(nav, animated: true)\n```\n\n#### SwiftUI\n\nWrap in a `UINavigationController` so the close button and dark nav bar match the FloatingView experience:\n\n```swift\nstruct DebugViewControllerRepresentable: UIViewControllerRepresentable {\n    let onDismiss: () -> Void\n\n    func makeUIViewController(context: Context) -> UINavigationController {\n        let debugVC = DebugSwift.debugViewController()\n\n        let closeButton = UIBarButtonItem(\n            image: UIImage(systemName: \"xmark\"),\n            style: .plain, target: context.coordinator,\n            action: #selector(Coordinator.close)\n        )\n        closeButton.tintColor = .white\n        debugVC.navigationItem.rightBarButtonItem = closeButton\n\n        let nav = UINavigationController(rootViewController: debugVC)\n        let appearance = UINavigationBarAppearance()\n        appearance.configureWithTransparentBackground()\n        appearance.backgroundColor = .black\n        nav.navigationBar.standardAppearance = appearance\n        nav.navigationBar.scrollEdgeAppearance = appearance\n        nav.navigationBar.compactAppearance = appearance\n        nav.overrideUserInterfaceStyle = .dark\n        return nav\n    }\n\n    func updateUIViewController(_ uiViewController: UINavigationController, context: Context) {}\n    func makeCoordinator() -> Coordinator { Coordinator(onDismiss: onDismiss) }\n\n    class Coordinator: NSObject {\n        let onDismiss: () -> Void\n        init(onDismiss: @escaping () -> Void) { self.onDismiss = onDismiss }\n        @objc func close() { onDismiss() }\n    }\n}\n\n\u002F\u002F Usage — fullScreenCover matches the FloatingView full-screen appearance\n@State private var showDebugger = false\n\nButton(\"Open Debugger\") {\n    DebugSwift.debugViewControllerWillPresent()\n    showDebugger = true\n}\n\u002F\u002F Use onDismiss: on fullScreenCover — not inside the representable — so the\n\u002F\u002F floating ball is restored even when the sheet is dismissed via Escape\u002Fswipe.\n.fullScreenCover(isPresented: $showDebugger, onDismiss: {\n    DebugSwift.debugViewControllerDidDismiss()\n}) {\n    DebugViewControllerRepresentable(onDismiss: { showDebugger = false })\n        .ignoresSafeArea()\n}\n```\n\n## 🔧 Troubleshooting\n\n### Apple Silicon Build Issues\n\nIf you encounter build errors like `error unsupported Swift architecture` or `DebugSwift.framework only contains x86_64 slice for simulator` on Apple Silicon Macs:\n\n#### Solution 1: Update to Latest Version\nEnsure you're using the latest version of DebugSwift which includes full Apple Silicon support:\n\n```ruby\n# CocoaPods\npod 'DebugSwift', '~> 1.8.1'\n\n# Swift Package Manager - update to latest\n```\n\n#### Solution 2: Use XCFramework Distribution (Recommended)\nFor faster builds and guaranteed architecture compatibility:\n\n```ruby\npod 'DebugSwift', :http => 'https:\u002F\u002Fgithub.com\u002FDebugSwift\u002FDebugSwift\u002Freleases\u002Flatest\u002Fdownload\u002FDebugSwift.xcframework.zip'\n```\n\n#### Solution 3: Remove Architecture Exclusions\nIf you have custom architecture exclusions in your project, remove them:\n\n```ruby\n# Remove this from your Podfile or target configuration:\n# config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'arm64'\n```\n\n#### Solution 4: Clean Build\nClean your build folder and derived data:\n\n```bash\n# Xcode\nProduct → Clean Build Folder (⌘⇧K)\n\n# Command line\nrm -rf ~\u002FLibrary\u002FDeveloper\u002FXcode\u002FDerivedData\n```\n\n### Build Performance\n\n- **XCFramework Distribution**: Up to 50% faster build times\n- **Source Distribution**: Full source access and debugging capabilities\n\nChoose XCFramework for production builds, source for active development.\n\n## Examples\n\n### Enhanced Hierarchy Tree for Deeper Application Insights (Beta)\nHarness the Power of Visual Information within the iOS Hierarchy Tree to Uncover Intricate Layouts and Element Relationships in Your Application.\n\n#### How to Use\nSimply press and hold the circle button to reveal the Snapshot and Hierarchy for a comprehensive overview.\n\n#### Results:\n![image8](https:\u002F\u002Fgithub.com\u002FDebugSwift\u002FDebugSwift\u002Fassets\u002F31082311\u002Ffdc117a2-e9f9-4246-9e9e-fcae818b7ea1)\n\n#### Explore Additional Details\n\nEnhance your understanding by pressing and holding on a specific view to reveal information such as:\n- Class\n- Subviews\n- Background Color\n- Specific attributes based on the type (e.g., UILabel: Text, Font, and TextColor).\n\n#### Results:\n![image10](https:\u002F\u002Fgithub.com\u002FDebugSwift\u002FDebugSwift\u002Fassets\u002F31082311\u002F7e9c3a8b-3d26-4b7c-b671-1894cb32e562)\n\n### App Custom ViewControllers in Tab Bar\n\n```swift\nDebugSwift.App.shared.customControllers = {\n    let controller1 = UITableViewController()\n    controller1.title = \"Custom TableVC 1\"\n\n    let controller2 = UITableViewController()\n    controller2.title = \"Custom TableVC 2\"\n    return [controller1, controller2]\n}\n```\n\n### Custom Debug Actions\n\n```swift\n\u002F\u002F Add custom debugging actions\nDebugSwift.App.shared.customAction = {\n    [\n        .init(title: \"Development Tools\", actions: [\n            .init(title: \"Clear User Data\") {\n                UserDefaults.standard.removeObject(forKey: \"userData\")\n            },\n            .init(title: \"Reset App State\") {\n                \u002F\u002F Your reset logic here\n            }\n        ])\n    ]\n}\n```\n\n#### Results:\n![image6](https:\u002F\u002Fgithub.com\u002FDebugSwift\u002FDebugSwift\u002Fassets\u002F31082311\u002Ff9c23835-e17e-49a8-b971-4b9880403b15)\n\n### App Custom Data\n\n```swift\nDebugSwift.App.shared.customInfo = {\n    [\n        .init(\n            title: \"Info 1\",\n            infos: [\n                .init(title: \"title 1\", subtitle: \"title 2\")\n            ]\n        )\n    ]\n}\n```\n\n#### Results:\n![image5](https:\u002F\u002Fgithub.com\u002FDebugSwift\u002FDebugSwift\u002Fassets\u002F31082311\u002F2a38e758-1418-4f14-805f-432d124ad071)\n\n### APNS Token Integration\n\n```swift\n\u002F\u002F In your AppDelegate\nfunc application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {\n    DebugSwift.APNSToken.didRegister(deviceToken: deviceToken)\n    \u002F\u002F Your existing token handling code\n}\n\nfunc application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) {\n    DebugSwift.APNSToken.didFailToRegister(error: error)\n    \u002F\u002F Your existing error handling code\n}\n```\n\n## Configuration\n\n### Network Filtering\n\n```swift\n\u002F\u002F Ignore specific URLs\nDebugSwift.Network.shared.ignoredURLs = [\"https:\u002F\u002Fanalytics.com\"]\n\n\u002F\u002F Monitor only specific URLs\nDebugSwift.Network.shared.onlyURLs = [\"https:\u002F\u002Fapi.myapp.com\"]\n```\n\n### Network History Management\n\n```swift\n\u002F\u002F Clear HTTP\u002FHTTPS request history (useful when switching environments)\nDebugSwift.Network.shared.clearNetworkHistory()\n\n\u002F\u002F Clear WebSocket connection history\nawait DebugSwift.Network.shared.clearWebSocketHistory()\n\n\u002F\u002F Clear all network data (HTTP + WebSocket)\nawait DebugSwift.Network.shared.clearAllNetworkData()\n\n\u002F\u002F Example: Clear network data when switching environments\nDebugSwift.App.shared.customAction = {\n    [\n        .init(title: \"Environment\", actions: [\n            .init(title: \"Switch to Production\") {\n                \u002F\u002F Your environment switch logic\n                DebugSwift.Network.shared.clearNetworkHistory()\n            },\n            .init(title: \"Switch to Development\") {\n                \u002F\u002F Your environment switch logic\n                DebugSwift.Network.shared.clearNetworkHistory()\n            }\n        ])\n    ]\n}\n```\n\n### Manual URLSessionConfiguration Injection\n\nIf you create `URLSessionConfiguration` instances **before** calling `DebugSwift.setup()`, you can manually inject the network monitoring protocol:\n\n```swift\n\u002F\u002F Option 1: Inject into existing configuration\nlet config = URLSessionConfiguration.default\nDebugSwift.Network.shared.injectIntoConfiguration(config)\nlet session = URLSession(configuration: config)\n\n\u002F\u002F Option 2: Get pre-configured default configuration\nlet config = DebugSwift.Network.shared.defaultConfiguration()\nlet session = URLSession(configuration: config)\n\n\u002F\u002F Option 3: Get pre-configured ephemeral configuration\nlet config = DebugSwift.Network.shared.ephemeralConfiguration()\nlet session = URLSession(configuration: config)\n\n\u002F\u002F Option 4: Direct protocol class injection (advanced)\nvar config = URLSessionConfiguration.default\nvar protocolClasses = config.protocolClasses ?? []\nprotocolClasses.insert(CustomHTTPProtocol.self, at: 0)\nconfig.protocolClasses = protocolClasses\n```\n\n**Note:** This is particularly useful when migrating from other network debugging tools like Netfox or when working with pre-existing URLSession configurations.\n\n### Network Encryption\u002FDecryption\n\nDebugSwift supports automatic decryption of encrypted API responses, making it easier to debug apps with end-to-end encryption.\n\n```swift\n\u002F\u002F Enable decryption feature\nDebugSwift.Network.shared.setDecryptionEnabled(true)\n\n\u002F\u002F Register decryption key for specific API endpoints\nif let key = \"your-32-byte-aes-key-here-123456\".data(using: .utf8) {\n    DebugSwift.Network.shared.registerDecryptionKey(for: \"api.example.com\", key: key)\n}\n\n\u002F\u002F Register custom decryptor for complex encryption schemes\nDebugSwift.Network.shared.registerCustomDecryptor(for: \"api.myapp.com\") { encryptedData in\n    \u002F\u002F Your custom decryption logic here\n    return customDecrypt(encryptedData)\n}\n```\n\n### Selective Features\n\n```swift\ndebugSwift.setup(\n    hideFeatures: [.performance, .interface], \u002F\u002F Hide specific tabs\n    disable: [.leaksDetector, .console]       \u002F\u002F Disable specific monitoring\n)\n```\n\n### Beta Features\n\n```swift\n\u002F\u002F Enable beta features (disabled by default)\ndebugSwift.setup(\n    enableBetaFeatures: [.swiftUIRenderTracking] \u002F\u002F Enable experimental SwiftUI render tracking\n)\n```\n\n### SwiftData Browser (iOS 17+)\n\n```swift\nimport SwiftData\n\n\u002F\u002F Define your model registrations\nlet swiftDataModels: [SwiftDataModelRegistration] = [\n    .init(Trip.self),\n    .init(Accommodation.self)\n]\n\n\u002F\u002F Register one or more containers\nDebugSwift.Resources.shared.configureSwiftData(contexts: [\n    .init(name: \"Main\", container: appModelContainer, models: swiftDataModels)\n])\n\n\u002F\u002F Optional: lock browser editing\nDebugSwift.Resources.shared.swiftDataReadOnly = true\n```\n\n### App Group Configuration\n\n```swift\n\u002F\u002F Configure app groups for file browser access\nDebugSwift.Resources.shared.configureAppGroups([\n    \"group.com.yourcompany.yourapp\"\n])\n```\n\n### Performance Monitoring\n\n```swift\n\u002F\u002F Configure memory leak detection\nDebugSwift.Performance.shared.onLeakDetected { leakData in\n    print(\"🔴 Memory leak detected: \\(leakData.message)\")\n}\n```\n\n### Push Notification Simulation\n\n```swift\n\u002F\u002F Enable push notification simulation\nDebugSwift.PushNotification.enableSimulation()\n\n\u002F\u002F Simulate a notification\nDebugSwift.PushNotification.simulate(\n    title: \"Test Notification\",\n    body: \"This is a test notification\"\n)\n```\n\n### SwiftUI Render Tracking (Beta)\n\n⚠️ **Beta Feature**: SwiftUI render tracking is experimental and must be enabled explicitly.\n\n```swift\n\u002F\u002F First enable the beta feature in setup\ndebugSwift.setup(enableBetaFeatures: [.swiftUIRenderTracking])\n\n\u002F\u002F Then enable SwiftUI render tracking\nDebugSwift.SwiftUIRender.shared.isEnabled = true\n\n\u002F\u002F Configure persistent overlays (stay visible until manually cleared)\nDebugSwift.SwiftUIRender.shared.persistentOverlays = true\n\n\u002F\u002F Set overlay style (border, borderWithCount, none)\nDebugSwift.SwiftUIRender.shared.overlayStyle = .borderWithCount\n\n\u002F\u002F Configure overlay duration\nDebugSwift.SwiftUIRender.shared.overlayDuration = 1.0\n\n\u002F\u002F Enable console logging\nDebugSwift.SwiftUIRender.shared.loggingEnabled = true\n\n\u002F\u002F Clear render statistics\nDebugSwift.SwiftUIRender.shared.clearStats()\n\n\u002F\u002F Clear persistent overlays\nDebugSwift.SwiftUIRender.shared.clearPersistentOverlays()\n```\n\n---\n\n## ⭐ Support the Project\n\nIf you find DebugSwift helpful, please consider giving us a star on GitHub! Your support helps us continue improving and adding new features.\n\n[![GitHub stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002FDebugSwift\u002FDebugSwift.svg?style=social&label=Star)](https:\u002F\u002Fgithub.com\u002FDebugSwift\u002FDebugSwift)\n\n\u003Ca href=\"https:\u002F\u002Fstarmapper.bruniaux.com\u002Fdebugswift\u002Fdebugswift\">\n  \u003Cpicture>\n    \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fstarmapper.bruniaux.com\u002Fapi\u002Fmap-image\u002Fdebugswift\u002Fdebugswift?theme=dark\" \u002F>\n    \u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Fstarmapper.bruniaux.com\u002Fapi\u002Fmap-image\u002Fdebugswift\u002Fdebugswift?theme=light\" \u002F>\n    \u003Cimg alt=\"StarMapper\" src=\"https:\u002F\u002Fstarmapper.bruniaux.com\u002Fapi\u002Fmap-image\u002Fdebugswift\u002Fdebugswift\" \u002F>\n  \u003C\u002Fpicture>\n\u003C\u002Fa>\n\n## Contributors\n\nOur contributors have made this project possible. Thank you!\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FDebugSwift\u002FDebugSwift\u002Fgraphs\u002Fcontributors\">\n  \u003Cimg src=\"https:\u002F\u002Fcontrib.rocks\u002Fimage?repo=DebugSwift\u002FDebugSwift\" \u002F>\n\u003C\u002Fa>\n\n## Contributing\n\nContributions are welcome! If you have suggestions, improvements, or bug fixes, please submit a pull request. Let's make DebugSwift even more powerful together!\n\n## Repo Activity\n\n![Alt](https:\u002F\u002Frepobeats.axiom.co\u002Fapi\u002Fembed\u002F53a4d8a27ad851f52451b14b9a1671e7124f88e8.svg \"Repobeats analytics image\")\n\n## Star History\n\n[![Star History Chart](https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=DebugSwift\u002FDebugSwift&type=Date)](https:\u002F\u002Fstar-history.com\u002F#DebugSwift\u002FDebugSwift&Date)\n\n## License\n\nDebugSwift is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## References\n\n- [InAppViewDebugger](https:\u002F\u002Fgithub.com\u002Findragiek\u002FInAppViewDebugger) \n- [CocoaDebug](https:\u002F\u002Fgithub.com\u002FCocoaDebug\u002FCocoaDebug) \n- [DBDebugToolkit](https:\u002F\u002Fgithub.com\u002Fdbukowski\u002FDBDebugToolkit)\n- [LeakedViewControllerDetector](https:\u002F\u002Fgithub.com\u002FJanneman84\u002FLeakedViewControllerDetector)\n","DebugSwift 是一个旨在简化和提升基于 Swift 的 iOS 应用程序调试体验的工具包。它提供了强大的网络监控、性能分析和内存泄漏检测等功能，支持 HTTP 和 WebSocket 请求的详细日志记录与过滤、自动 JSON 格式化及加密响应解密等特性。同时，该工具能够实时监测 CPU、内存使用情况以及帧率，帮助开发者高效地定位并解决应用中的问题。适用于需要进行深度调试、性能优化或希望改善用户体验的应用开发场景。",2,"2026-06-11 03:30:49","trending"]