V2EX 首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
探索世界的好奇心万岁
Udacity
网易公开课
Godel, Escher, Bach: An Eternal Golden Braid
V2EX  ›  分享发现

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

  •  
  •   liman · 11 天前 · 643 次点击

    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

    • Author: liman
    • WeChat: liman_888
    • QQ: 723661989
    • E-mail: gg723661989@gmail.com

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

    1 回复  |  直到 2018-02-15 20:51:38 +08:00
        1
    sangmong   9 天前
    滋瓷一下
    DigitalOcean
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   1835 人在线   最高记录 3541   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.0 · 52ms · UTC 11:30 · PVG 19:30 · LAX 03:30 · JFK 06:30
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1