V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
liman
V2EX  ›  分享发现

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

  •  
  •   liman · 2018-02-13 19:49:01 +08:00 · 1852 次点击
    这是一个创建于 2480 天前的主题,其中的信息可能已经有所发展或是发生改变。

    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 条回复    2018-02-15 20:51:38 +08:00
    sangmong
        1
    sangmong  
       2018-02-15 20:51:38 +08:00
    滋瓷一下
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1270 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 23:18 · PVG 07:18 · LAX 15:18 · JFK 18:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.