In-app console and debug tools for iOS developers

Overview

LocalConsole

Welcome to LocalConsole! This Swift Package makes on-device debugging easy with a convenient PiP-style console that can display items in the same way print() will in Xcode. This tool can also dynamically display view frames and restart SpringBoard right from your live app.

Setup

  1. In your Xcode project, navigate to File > Swift Packages > Add Package Dependancy...

  2. Paste the following into the URL field: https://github.com/duraidabdul/LocalConsole/

  3. Once the package dependancy has been added, import LocalConsole and create an easily accessible global instance of Console.shared.

import LocalConsole

let consoleManager = LCManager.shared

Usage

Once prepared, the localConsole can be used throughout your project.

// Show the console view.
consoleManager.isVisible = true

// Hide the console view.
consoleManager.isVisible = false
// Print items to the console view.
consoleManager.print("Hello, world!")

// Clear console text.
consoleManager.clear()

// Copy console text.
consoleManager.copy()
// Change the console view font size.
consoleManager.fontSize = 5

To-Do

  • Screen edge console hiding
  • Make console view reactive to landscape/portrait switch
Comments
  • No longer visible above presented view controllers

    No longer visible above presented view controllers

    Version 1.11.0 causes the console to no longer sit on top of presented view controllers. Also when you tap the more menu you get:

    [Presentation] Presenting view controller <_UIContextMenuActionsOnlyViewController: 0x7fb2bf605470> from detached view controller <LocalConsole.ConsoleViewController: 0x7fb2be27ecb0> is discouraged.

    opened by jordanhbuiltbyhq 3
  • UI API called on a Main thread? -(Crash)

    UI API called on a Main thread? -(Crash)

    Seems like there is an issue 😄:

    `================================================================= Main Thread Checker: UI API called on a background thread: -[UIScrollView contentOffset] PID: 6701, TID: 2996419, Thread name: (none), Queue name: NSOperationQueue 0x7f8685ca3840 (QOS: UNSPECIFIED), QoS: 0 Backtrace: 4 ***** ***** 0x0000000104fdf804 $s12LocalConsole9LCManagerC5printyyypF + 164 5 ***** ***** 0x0000000104ae715b $s10CloudyLogs6LoggerC3log_4typeySS_ypSgtFZ + 235 6 ***** ***** 0x0000000104edeb3d $s6Shared6**O13CommunicationEADC14attemptToQueue7channelSo16NSBlockOperationCSgAE7ChannelO_tFyycfU2_ + 477 7 ***** ***** 0x0000000104ede7c0 $sIeg_IeyB_TR + 48 8 Foundation 0x00007fff207fa0be NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK + 7 9 Foundation 0x00007fff207f9fb6 -[NSBlockOperation main] + 98 10 Foundation 0x00007fff207fcfd2 NSOPERATION_IS_INVOKING_MAIN + 17 11 Foundation 0x00007fff207f9200 -[NSOperation start] + 785 12 Foundation 0x00007fff207fd947 NSOPERATIONQUEUE_IS_STARTING_AN_OPERATION + 17 13 Foundation 0x00007fff207fd46a __NSOQSchedule_f + 182 14 libdispatch.dylib 0x000000010635e2c5 _dispatch_block_async_invoke2 + 83 15 libdispatch.dylib 0x000000010634f74e _dispatch_client_callout + 8 16 libdispatch.dylib 0x0000000106352066 _dispatch_continuation_pop + 557 17 libdispatch.dylib 0x000000010635147b _dispatch_async_redirect_invoke + 770 18 libdispatch.dylib 0x00000001063611b0 _dispatch_root_queue_drain + 351 19 libdispatch.dylib 0x0000000106361b0f _dispatch_worker_thread2 + 135 20 libsystem_pthread.dylib 0x00007fff60340417 _pthread_wqthread + 244 21 libsystem_pthread.dylib 0x00007fff6033f42f start_wqthread + 15 2021-06-21 18:01:24.765790-0500 ***** ***[6701:2996419] [reports] Main Thread Checker: UI API called on a background thread: -[UIScrollView contentOffset] PID: 6701, TID: 2996419, Thread name: (none), Queue name: NSOperationQueue 0x7f8685ca3840 (QOS: UNSPECIFIED), QoS: 0 Backtrace: 4 ***** ***** 0x0000000104fdf804 $s12LocalConsole9LCManagerC5printyyypF + 164 5 ***** ***** 0x0000000104ae715b $s10CloudyLogs6LoggerC3log_4typeySS_ypSgtFZ + 235 6 ***** ***** 0x0000000104edeb3d $s6Shared6O13CommunicationEADC14attemptToQueue7channelSo16NSBlockOperationCSgAE7ChannelO_tFyycfU2_ + 477 7 ***** ***** 0x0000000104ede7c0 $sIeg_IeyB_TR + 48 8 Foundation 0x00007fff207fa0be NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK + 7 9 Foundation 0x00007fff207f9fb6 -[NSBlockOperation main] + 98 10 Foundation 0x00007fff207fcfd2 NSOPERATION_IS_INVOKING_MAIN + 17 11 Foundation 0x00007fff207f9200 -[NSOperation start] + 785 12 Foundation 0x00007fff207fd947 NSOPERATIONQUEUE_IS_STARTING_AN_OPERATION + 17 13 Foundation 0x00007fff207fd46a __NSOQSchedule_f + 182 14 libdispatch.dylib 0x000000010635e2c5 _dispatch_block_async_invoke2 + 83 15 libdispatch.dylib 0x000000010634f74e _dispatch_client_callout + 8 16 libdispatch.dylib 0x0000000106352066 _dispatch_continuation_pop + 557 17 libdispatch.dylib 0x000000010635147b _dispatch_async_redirect_invoke + 770 18 libdispatch.dylib 0x00000001063611b0 _dispatch_root_queue_drain + 351 19 libdispatch.dylib 0x0000000106361b0f _dispatch_worker_thread2 + 135 20 libsystem_pthread.dylib 0x00007fff60340417 _pthread_wqthread + 244 21 libsystem_pthread.dylib 0x00007fff6033f42f start_wqthread + 15

    Main Thread Checker: UI API called on a background thread: -[UIScrollView contentSize] PID: 6701, TID: 2996419, Thread name: (none), Queue name: NSOperationQueue 0x7f8685ca3840 (QOS: UNSPECIFIED), QoS: 0 Backtrace: 4 ***** ***** 0x0000000104fe9ca1 $s12LocalConsole16InvertedTextViewC11contentSizeSo6CGSizeVvg + 81 5 ***** ***** 0x0000000104fe9c18 $s12LocalConsole16InvertedTextViewC11contentSizeSo6CGSizeVvgTo + 40 6 ***** ***** 0x0000000104fdf860 $s12LocalConsole9LCManagerC5printyyypF + 256 7 ***** ***** 0x0000000104ae715b $s10CloudyLogs6LoggerC3log_4typeySS_ypSgtFZ + 235 8 ***** ***** 0x0000000104edeb3d $s6Shared6**O13CommunicationEADC14attemptToQueue7channelSo16NSBlockOperationCSgAE7ChannelO_tFyycfU2_ + 477 9 ***** ***** 0x0000000104ede7c0 $sIeg_IeyB_TR + 48 10 Foundation 0x00007fff207fa0be NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK + 7 11 Foundation 0x00007fff207f9fb6 -[NSBlockOperation main] + 98 12 Foundation 0x00007fff207fcfd2 NSOPERATION_IS_INVOKING_MAIN + 17 13 Foundation 0x00007fff207f9200 -[NSOperation start] + 785 14 Foundation 0x00007fff207fd947 NSOPERATIONQUEUE_IS_STARTING_AN_OPERATION + 17 15 Foundation 0x00007fff207fd46a __NSOQSchedule_f + 182 16 libdispatch.dylib 0x000000010635e2c5 _dispatch_block_async_invoke2 + 83 17 libdispatch.dylib 0x000000010634f74e _dispatch_client_callout + 8 18 libdispatch.dylib 0x0000000106352066 _dispatch_continuation_pop + 557 19 libdispatch.dylib 0x000000010635147b _dispatch_async_redirect_invoke + 770 20 libdispatch.dylib 0x00000001063611b0 _dispatch_root_queue_drain + 351 21 libdispatch.dylib 0x0000000106361b0f _dispatch_worker_thread2 + 135 22 libsystem_pthread.dylib 0x00007fff60340417 _pthread_wqthread + 244 23 libsystem_pthread.dylib 0x00007fff6033f42f start_wqthread + 15 2021-06-21 18:01:24.845531-0500 ***** ***[6701:2996419] [reports] Main Thread Checker: UI API called on a background thread: -[UIScrollView contentSize] PID: 6701, TID: 2996419, Thread name: (none), Queue name: NSOperationQueue 0x7f8685ca3840 (QOS: UNSPECIFIED), QoS: 0 Backtrace: 4 ***** ***** 0x0000000104fe9ca1 $s12LocalConsole16InvertedTextViewC11contentSizeSo6CGSizeVvg + 81 5 ***** ***** 0x0000000104fe9c18 $s12LocalConsole16InvertedTextViewC11contentSizeSo6CGSizeVvgTo + 40 6 ***** ***** 0x0000000104fdf860 $s12LocalConsole9LCManagerC5printyyypF + 256 7 ***** ***** 0x0000000104ae715b $s10CloudyLogs6LoggerC3log_4typeySS_ypSgtFZ + 235 8 ***** ***** 0x0000000104edeb3d $s6Shared6O13CommunicationEADC14attemptToQueue7channelSo16NSBlockOperationCSgAE7ChannelO_tFyycfU2_ + 477 9 ***** ***** 0x0000000104ede7c0 $sIeg_IeyB_TR + 48 10 Foundation 0x00007fff207fa0be NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK + 7 11 Foundation 0x00007fff207f9fb6 -[NSBlockOperation main] + 98 12 Foundation 0x00007fff207fcfd2 NSOPERATION_IS_INVOKING_MAIN + 17 13 Foundation 0x00007fff207f9200 -[NSOperation start] + 785 14 Foundation 0x00007fff207fd947 NSOPERATIONQUEUE_IS_STARTING_AN_OPERATION + 17 15 Foundation 0x00007fff207fd46a __NSOQSchedule_f + 182 16 libdispatch.dylib 0x000000010635e2c5 _dispatch_block_async_invoke2 + 83 17 libdispatch.dylib 0x000000010634f74e _dispatch_client_callout + 8 18 libdispatch.dylib 0x0000000106352066 _dispatch_continuation_pop + 557 19 libdispatch.dylib 0x000000010635147b _dispatch_async_redirect_invoke + 770 20 libdispatch.dylib 0x00000001063611b0 _dispatch_root_queue_drain + 351 21 libdispatch.dylib 0x0000000106361b0f _dispatch_worker_thread2 + 135 22 libsystem_pthread.dylib 0x00007fff60340417 _pthread_wqthread + 244 23 libsystem_pthread.dylib 0x00007fff6033f42f start_wqthread + 15 2021-06-21 23:01:24 +0000: Communication: service: 📶 ***** BLE: "1-604417" unitIdentifier: 13 not connected, will try to connect

    Main Thread Checker: UI API called on a background thread: -[UIView bounds] PID: 6701, TID: 2996419, Thread name: (none), Queue name: NSOperationQueue 0x7f8685ca3840 (QOS: UNSPECIFIED), QoS: 0 Backtrace: 4 ***** ***** 0x0000000104fdf8e6 $s12LocalConsole9LCManagerC5printyyypF + 390 5 ***** ***** 0x0000000104ae715b $s10CloudyLogs6LoggerC3log_4typeySS_ypSgtFZ + 235 6 ***** ***** 0x0000000104edeb3d $s6Shared6**O13CommunicationEADC14attemptToQueue7channelSo16NSBlockOperationCSgAE7ChannelO_tFyycfU2_ + 477 7 ***** ***** 0x0000000104ede7c0 $sIeg_IeyB_TR + 48 8 Foundation 0x00007fff207fa0be NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK + 7 9 Foundation 0x00007fff207f9fb6 -[NSBlockOperation main] + 98 10 Foundation 0x00007fff207fcfd2 NSOPERATION_IS_INVOKING_MAIN + 17 11 Foundation 0x00007fff207f9200 -[NSOperation start] + 785 12 Foundation 0x00007fff207fd947 NSOPERATIONQUEUE_IS_STARTING_AN_OPERATION + 17 13 Foundation 0x00007fff207fd46a __NSOQSchedule_f + 182 14 libdispatch.dylib 0x000000010635e2c5 _dispatch_block_async_invoke2 + 83 15 libdispatch.dylib 0x000000010634f74e _dispatch_client_callout + 8 16 libdispatch.dylib 0x0000000106352066 _dispatch_continuation_pop + 557 17 libdispatch.dylib 0x000000010635147b _dispatch_async_redirect_invoke + 770 18 libdispatch.dylib 0x00000001063611b0 _dispatch_root_queue_drain + 351 19 libdispatch.dylib 0x0000000106361b0f _dispatch_worker_thread2 + 135 20 libsystem_pthread.dylib 0x00007fff60340417 _pthread_wqthread + 244 21 libsystem_pthread.dylib 0x00007fff6033f42f start_wqthread + 15 2021-06-21 18:01:24.888052-0500 ***** ***[6701:2996419] [reports] Main Thread Checker: UI API called on a background thread: -[UIView bounds] PID: 6701, TID: 2996419, Thread name: (none), Queue name: NSOperationQueue 0x7f8685ca3840 (QOS: UNSPECIFIED), QoS: 0 Backtrace: 4 ***** ***** 0x0000000104fdf8e6 $s12LocalConsole9LCManagerC5printyyypF + 390 5 ***** ***** 0x0000000104ae715b $s10CloudyLogs6LoggerC3log_4typeySS_ypSgtFZ + 235 6 ***** ***** 0x0000000104edeb3d $s6Shared6O13CommunicationEADC14attemptToQueue7channelSo16NSBlockOperationCSgAE7ChannelO_tFyycfU2_ + 477 7 ***** ***** 0x0000000104ede7c0 $sIeg_IeyB_TR + 48 8 Foundation 0x00007fff207fa0be NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK + 7 9 Foundation 0x00007fff207f9fb6 -[NSBlockOperation main] + 98 10 Foundation 0x00007fff207fcfd2 NSOPERATION_IS_INVOKING_MAIN + 17 11 Foundation 0x00007fff207f9200 -[NSOperation start] + 785 12 Foundation 0x00007fff207fd947 NSOPERATIONQUEUE_IS_STARTING_AN_OPERATION + 17 13 Foundation 0x00007fff207fd46a __NSOQSchedule_f + 182 14 libdispatch.dylib 0x000000010635e2c5 _dispatch_block_async_invoke2 + 83 15 libdispatch.dylib 0x000000010634f74e _dispatch_client_callout + 8 16 libdispatch.dylib 0x0000000106352066 _dispatch_continuation_pop + 557 17 libdispatch.dylib 0x000000010635147b _dispatch_async_redirect_invoke + 770 18 libdispatch.dylib 0x00000001063611b0 _dispatch_root_queue_drain + 351 19 libdispatch.dylib 0x0000000106361b0f _dispatch_worker_thread2 + 135 20 libsystem_pthread.dylib 0x00007fff60340417 _pthread_wqthread + 244 21 libsystem_pthread.dylib 0x00007fff6033f42f start_wqthread + 15

    Main Thread Checker: UI API called on a background thread: -[UITextView text] PID: 6701, TID: 2996419, Thread name: (none), Queue name: NSOperationQueue 0x7f8685ca3840 (QOS: UNSPECIFIED), QoS: 0 Backtrace: 4 ***** ***** 0x0000000104fdfbba $s12LocalConsole9LCManagerC5printyyypFSSyXEfU_ + 202 5 ***** ***** 0x0000000104fdf9f9 $s12LocalConsole9LCManagerC5printyyypF + 665 6 ***** ***** 0x0000000104ae715b $s10CloudyLogs6LoggerC3log_4typeySS_ypSgtFZ + 235 7 ***** ***** 0x0000000104edeb3d $s6Shared6***O13CommunicationEADC14attemptToQueue7channelSo16NSBlockOperationCSgAE7ChannelO_tFyycfU2_ + 477 8 ***** ***** 0x0000000104ede7c0 $sIeg_IeyB_TR + 48 9 Foundation 0x00007fff207fa0be NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK + 7 10 Foundation 0x00007fff207f9fb6 -[NSBlockOperation main] + 98 11 Foundation 0x00007fff207fcfd2 NSOPERATION_IS_INVOKING_MAIN + 17 12 Foundation 0x00007fff207f9200 -[NSOperation start] + 785 13 Foundation 0x00007fff207fd947 NSOPERATIONQUEUE_IS_STARTING_AN_OPERATION + 17 14 Foundation 0x00007fff207fd46a __NSOQSchedule_f + 182 15 libdispatch.dylib 0x000000010635e2c5 _dispatch_block_async_invoke2 + 83 16 libdispatch.dylib 0x000000010634f74e _dispatch_client_callout + 8 17 libdispatch.dylib 0x0000000106352066 _dispatch_continuation_pop + 557 18 libdispatch.dylib 0x000000010635147b _dispatch_async_redirect_invoke + 770 19 libdispatch.dylib 0x00000001063611b0 _dispatch_root_queue_drain + 351 20 libdispatch.dylib 0x0000000106361b0f _dispatch_worker_thread2 + 135 21 libsystem_pthread.dylib 0x00007fff60340417 pthread_wqthread + 244 22 libsystem_pthread.dylib 0x00007fff6033f42f start_wqthread + 15 2021-06-21 18:01:24.916817-0500 ***** *****[6701:2996419] [reports] Main Thread Checker: UI API called on a background thread: -[UITextView text] PID: 6701, TID: 2996419, Thread name: (none), Queue name: NSOperationQueue 0x7f8685ca3840 (QOS: UNSPECIFIED), QoS: 0 Backtrace: 4 ***** ***** 0x0000000104fdfbba $s12LocalConsole9LCManagerC5printyyypFSSyXEfU + 202 5 ***** ***** 0x0000000104fdf9f9 $s12LocalConsole9LCManagerC5printyyypF + 665 6 ***** ***** 0x0000000104ae715b $s10CloudyLogs6LoggerC3log_4typeySS_ypSgtFZ + 235 7 ***** ***** 0x0000000104edeb3d $s6Shared6***O13CommunicationEADC14attemptToQueue7channelSo16NSBlockOperationCSgAE7ChannelO_tFyycfU2_ + 477 8 ***** ***** 0x0000000104ede7c0 $sIeg_IeyB_TR + 48 9 Foundation 0x00007fff207fa0be NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK + 7 10 Foundation 0x00007fff207f9fb6 -[NSBlockOperation main] + 98 11 Foundation 0x00007fff207fcfd2 NSOPERATION_IS_INVOKING_MAIN + 17 12 Foundation 0x00007fff207f9200 -[NSOperation start] + 785 13 Foundation 0x00007fff207fd947 NSOPERATIONQUEUE_IS_STARTING_AN_OPERATION + 17 14 Foundation 0x00007fff207fd46a __NSOQSchedule_f + 182 15 libdispatch.dylib 0x000000010635e2c5 _dispatch_block_async_invoke2 + 83 16 libdispatch.dylib 0x000000010634f74e _dispatch_client_callout + 8 17 libdispatch.dylib 0x0000000106352066 _dispatch_continuation_pop + 557 18 libdispatch.dylib 0x000000010635147b _dispatch_async_redirect_invoke + 770 19 libdispatch.dylib 0x00000001063611b0 _dispatch_root_queue_drain + 351 20 libdispatch.dylib 0x0000000106361b0f _dispatch_worker_thread2 + 135 21 libsystem_pthread.dylib 0x00007fff60340417 _pthread_wqthread + 244 22 libsystem_pthread.dylib 0x00007fff6033f42f start_wqthread + 15`

    opened by moyoteg 3
  • Close console

    Close console

    Hey! Thanks for making this great tool.

    Can we have a "Close Console" option (basically setting console.isVisible = false) similar to the "Clear Console" or the ability to add our own options?

    opened by radutx 2
  • "Share Text..." button causes application to crash.

    The application crashes when I press the "Share Text..." button.

    SwiftUI Life Cycle iOS 15.7 iPad Pro (9.7")

    2022-10-21 16:18:09.633928+0300 XXX[26460:1212498] invalid mode 'kCFRunLoopCommonModes' provided to CFRunLoopRunSpecific - break on _CFRunLoopError_RunCalledWithInvalidMode to debug. This message will only appear once per execution.
    2022-10-21 16:18:52.754372+0300 XXX[26460:1212498] [Default] Task XXX[26460]/1#3 LF=0 couldn't find entitlement CopresenceCore.Entitlement.publicAPI error nil
    2022-10-21 16:18:52.867519+0300 XXX[26460:1212498] *** Terminating app due to uncaught exception 'NSGenericException', reason: 'UIPopoverPresentationController (<UIPopoverPresentationController: 0x104b88760>) should have a non-nil sourceView or barButtonItem set before the presentation occurs.'
    *** First throw call stack:
    (0x182651d1c 0x199e76ee4 0x185183998 0x184b0ea6c 0x185189cf4 0x184c06234 0x184b21764 0x104888700 0x104889fc8 0x1048988ac 0x1048984fc 0x18260d0d4 0x1825ca5f8 0x1825dd250 0x1a2f14988 0x184ddfa88 0x184b78fc8 0x189e31d68 0x189d7c83c 0x189d621dc 0x100dd775c 0x100dd7800 0x10425c4d0)
    libc++abi: terminating with uncaught exception of type NSException
    dyld4 config: DYLD_LIBRARY_PATH=/usr/lib/system/introspection DYLD_INSERT_LIBRARIES=/Developer/usr/lib/libBacktraceRecording.dylib:/Developer/usr/lib/libMainThreadChecker.dylib:/Developer/Library/PrivateFrameworks/DTDDISupport.framework/libViewDebuggerSupport.dylib
    *** Terminating app due to uncaught exception 'NSGenericException', reason: 'UIPopoverPresentationController (<UIPopoverPresentationController: 0x104b88760>) should have a non-nil sourceView or barButtonItem set before the presentation occurs.'
    terminating with uncaught exception of type NSException
    
    opened by wynioux 2
  • Input blocked on iPads without home button

    Input blocked on iPads without home button

    When running on an iPad or iPad simulator that has no home button, if LCManager.shared.isVisible is true, all other input seems to be blocked. Touches don't get passed down.

    Did a bit of debugging and it seems that when running on an iPad with no home button, the ConsoleWindow hit test will return a View when we're not expecting it to (would be expecting that function to be returning nil).

    It's unclear to me why this would behave differently on different iPads, but maybe this makes sense to someone smarter than me?

    opened by moorea 2
  • TabbarController support

    TabbarController support

    Thanks for making this awesome tool!

    I use it in a tab bar controller app. Unfortunately when the console is shown the tab bar gets another empty tab added for the console. Probably this window.rootViewController?.addChild(consoleViewController) is the problem.

    Any idea on how to fix this?

    opened by radutx 0
  • Ability to specify which features are accessible

    Ability to specify which features are accessible

    Hello! This is such a cool little package thanks for making it.

    I was wondering if you've considered making it possible to disable debug features. For example, I don't really want to have user defaults and the restart springboard options available, but show view frames is neat. I'll create a PR for it. :)

    opened by jordanhbuiltbyhq 0
Releases(1.12.1)
Owner
Duraid Abdul
WWDC20 Scholar, iOS Developer, Mechanical Engineering at UAlberta
Duraid Abdul
Customizable Console UI overlay with debug log on top of your iOS App

AEConsole Customizable Console UI overlay with debug log on top of your iOS App AEConsole is built on top of AELog, so you should probably see that fi

Marko Tadić 142 Dec 21, 2022
Set of easy to use debugging tools for iOS developers & QA engineers.

DBDebugToolkit DBDebugToolkit is a debugging library written in Objective-C. It is meant to provide as many easily accessible tools as possible while

Dariusz Bukowski 1.2k Dec 30, 2022
TouchInspector - a lightweight package that helps you visualize and debug touches on iOS and iPadOS

TouchInspector is a lightweight package that helps you visualize and debug touches on iOS and iPadOS.

Janum Trivedi 116 Jan 3, 2023
a iOS network debug library, monitor HTTP requests

NetworkEye README 中文 NetworkEye,a iOS network debug library,monitor HTTP requests. It can be detected HTTP request include web pages, NSURLConnection,

coderyi 1.4k Dec 31, 2022
SwiftUI iOS Debug & HotReloading in VSCode

SwiftUI iOS Debug & HotReloading in VSCode Demonstrating vscode development environment using xcodegen + HotReloading. Language Server Protocol for Sw

Mark Turner 119 Dec 27, 2022
Remote network and data debugging for your native iOS app using Chrome Developer Tools

PonyDebugger PonyDebugger is a remote debugging toolset. It is a client library and gateway server combination that uses Chrome Developer Tools on you

Square 5.9k Dec 24, 2022
App for developers to test REST API.

Httper Httper is a REST API test tool running on your iOS devices. It helps developers to test their REST APIs anywhere and anytime without PC. Featur

MuShare Group 408 Nov 22, 2022
A collection of tools for debugging, diffing, and testing your application's data structures.

Custom Dump A collection of tools for debugging, diffing, and testing your application's data structures. Motivation customDump diff XCTAssertNoDiffer

Point-Free 631 Jan 3, 2023
Profiling / Debugging assist tools for iOS. (Memory Leak, OOM, ANR, Hard Stalling, Network, OpenGL, Time Profile ...)

MTHawkeye Readme 中文版本 MTHawkeye is profiling, debugging tools for iOS used in Meitu. It's designed to help iOS developers improve development producti

meitu 1.4k Dec 29, 2022
An in-app debugging and exploration tool for iOS

FLEX FLEX (Flipboard Explorer) is a set of in-app debugging and exploration tools for iOS development. When presented, FLEX shows a toolbar that lives

FLEXTool 13.3k Dec 31, 2022
Dotzu In-App iOS Debugging Tool With Enhanced Logging, Networking Info, Crash reporting And More.

Dotzu In-App iOS Debugging Tool With Enhanced Logging, Networking Info, Crash reporting And More. The debugger tool for iOS developer. Display logs, n

Remi ROBERT 1.8k Jan 3, 2023
In-app design review tool to inspect measurements, attributes, and animations.

Hyperion Hyperion - In App Design Review Tool What is it? Hyperion is a hidden plugin drawer that can easily be integrated into any app. The drawer si

WillowTree, LLC 2k Dec 27, 2022
Free macOS app for iOS view debugging.

Introduction You can inspect and modify views in iOS app via Lookin, just like UI Inspector in Xcode, or another app called Reveal. Official Website:h

Li Kai 575 Dec 28, 2022
A little and powerful iOS framework for intercepting HTTP/HTTPS Traffic.

A little and powerful iOS framework for intercepting HTTP/HTTPS Traffic from your app. No more messing around with proxy, certificate config. Features

Proxyman 874 Jan 6, 2023
Xray is viewDebugging tool for iOS, tvOS, watchOS and macOS

XRay XRay is view debugging tool for iOS. Currently, XRay can show all of the view hierarchies in UIKit. For SwiftUI, I'm working on it. XRay helps yo

Shawn Baek 10 Jun 10, 2022
Automaticly display Log,Crash,Network,ANR,Leak,CPU,RAM,FPS,NetFlow,Folder and etc with one line of code based on Swift. Just like God opened his eyes

GodEye Automaticly display Log,Crash,Network,ANR,Leak,CPU,RAM,FPS,NetFlow,Folder and etc with one line of code based on Swift. Just like God opened hi

陈奕龙(子循) 3.7k Dec 23, 2022
📘A library for isolated developing UI components and automatically taking snapshots of them.

A library for isolated developing UI components and automatically taking snapshots of them. Playbook Playbook is a library that provides a sandbox for

Playbook 970 Jan 3, 2023
A lightweight, one line setup, iOS / OSX network debugging library! 🦊

Netfox provides a quick look on all executed network requests performed by your iOS or OSX app. It grabs all requests - of course yours, requests from

Christos Kasketis 3.4k Dec 28, 2022
Chisel is a collection of LLDB commands to assist debugging iOS apps.

Chisel Chisel is a collection of LLDB commands to assist in the debugging of iOS apps. [Installation • Commands • Custom Commands • Development Workfl

Facebook 8.9k Jan 6, 2023