liman

iOS 内置 debug 工具, 欢迎使用和 star!

  •  
  •   liman · Feb 13, 2018 · 2262 views
    This topic created in 3041 days ago, the information mentioned may be changed or developed.

    DebugMan

    https://github.com/liman123/DebugMan

    Debugger tool for iOS, support both Swift and Objective-C language.

    Introduction

    The author stole the idea from Dotzu JxbDebugTool SWHttpTrafficRecorder Sandboxer so that people can make crappy clones.

    DebugMan has the following features:

    • Display all app network http requests details, including SDKs and image preview.
    • Display app device informations and app identity informations.
    • Preview and share sandbox files on device/simulator.
    • Display all app logs in different colors as you like.
    • App memory real-time monitoring.
    • Display app crash logs.

    Requirements

    • iOS 8.0+
    • Xcode 9.0+
    • Swift 3.0+

    Installation

    Use CocoaPods to install DebugMan by adding it to your Podfile:

    platform :ios, '8.0'
    use_frameworks!
    
    target 'your_project' do
    pod 'DebugMan', :configurations => ['Debug']
    end
    
    • ~> 3.x.x for Swift 3
    • ~> 4.x.x for Swift 4

    Usage

    //Swift
    #if DEBUG
        DebugMan.shared.enable()
    #endif
    
    //Objective-C
    #ifdef DEBUG
        [[DebugMan shared] enableWithServerURL:nil ignoredURLs:nil onlyURLs:nil tabBarControllers:nil recordCrash:YES];
    #endif
    

    For more advanced usage, check in demo.

    Screenshots

    Note

    Crash Reprting

    The collapse of the statistical functions collected should only be called once, if the third party is also best to use only a third party, so access to the collapse of the statistical information is also the only way. Third-party statistical tools are not used as much as possible, the use of multiple crashes to collect third-party will lead to malicious coverage of NSSetUncaughtExceptionHandler() function pointer, resulting in some third-party can not receive the crash information.

    • So, if you are using crash reporting SDKs like Crashlytics or Bugly, I recommend to close DebugMan crash reporting. For more, see DebugMan advanced usages.

    Other Tips

    • You can shake device/simulator to hide/show the black bubble.

    • When using DebugMan, app's key window is DebugMan's transparent window. You can check app's UI layout by Reveal.

    • If you want to get the root view controller for the app's key window, UIApplication.shared.keyWindow?.rootViewController may crash. You should use UIApplication.shared.delegate?.window??.rootViewController.

    • If you want to show a toast in app's key window, like MBProgressHUD SVProgressHUD, UIApplication.shared.keyWindow to get app's key window may cause toast invisible. You should use UIApplication.shared.delegate?.window.

    Contact

    Welcome to star and fork. If you have any questions, welcome to open issues.

    1 replies    2018-02-15 20:51:38 +08:00
    sangmong
        1
    sangmong  
       Feb 15, 2018
    滋瓷一下
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1139 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 123ms · UTC 18:04 · PVG 02:04 · LAX 11:04 · JFK 14:04
    ♥ Do have faith in what you're doing.