LLDebugTool - 便捷的IOS调试工具(Version 1.1.5)

 LLDebugTool

LLDebugTool是一款针对开发者和测试者的调试工具,它能够帮助你在非Xcode的状况下,进行数据分析和操做。ios

为您的下一个项目选择LLDebugTool,或者迁移到您现有的项目中——您会为此感到惊喜!git

Gif

ScreenShots

最近更新 (1.1.5)

动态启用或中止功能模块

LLConfig 中增长了一个options LLConfigAvailableFeature 用于控制是否启用LLDebugTool中的某个功能模块,如今你能够动态的启动/中止某个模块。更多的修改内容能够查看Version 1.1.5 Projectgithub

新增

  • LLConfig 中增长了一个options LLConfigAvailableFeature 用于控制是否启用LLDebugTool中的某个功能模块,如今你能够动态的启动/中止某个模块。
  • LLConfigLogStyle 增长2个枚举值,LLConfigLogFileFuncDesc and LLConfigLogFileDesc

更新

  • 更新 LLAppHelperLLConfig,整理代码。
  • 修改 LLConfig,如今你能够在运行中动态的修改 colorStyle and windowStyle,更多效果能够查看demo。
  • 修改 LLSubTitleTableViewCell 解决UITextView在ios 8版本下的bug。

其余

  • 更新了demo,如今看起来舒服多了。

我能用LLDebugTool作什么?

  • 检查网络请求或者查看某些事件的日志信息,而没必要非在XCode运行下运行。这在解决测试人员的问题上颇有用。bash

  • 更轻松的筛选有用的信息。网络

  • 更轻松的处理偶发的问题。app

  • 更轻松的分析崩溃缘由。框架

  • 更轻松的分享、预览或删除沙盒文件,这在开发阶段很是有用。工具

  • 更轻松的观察App的CPU,内存,FPS等信息。学习

添加 LLDebugTool 到你的项目中

CocoaPods

CocoaPods 是集成LLDebugTool的首选方式。测试

  1. 添加 pod 'LLDebugTool' 到你的Podfile里。若是只想在Debug模式下使用,则添加pod 'LLDebugTool' ,:configurations => ['Debug'] 到你的Podfile里,详细的配置方式能够查看Wiki/如何仅在Debug环境中使用
  2. 终端输入pod install来进行集成。搜索不到LLDebugTool时,可先运行pod repo update,再执行pod install
  3. 在你须要使用LLDebugTool的文件里添加#import "LLDebug.h",或者直接在pch文件中添加#import "LLDebug.h"

Carthage

Carthage 是一个分散的依赖管理器,它构建您的依赖并为您提供framework框架。

  1. 要使用Carthage将LLDebugTool集成到Xcode项目中,请在“Cartfile”中加入这行:
github "LLDebugTool"
复制代码
  1. 运行 carthage 来构建框架,并将构建的“LLDebugTool.framework”拖到Xcode项目中。

源文件

您能够直接将名为LLDebugTool文件夹的源文件添加到项目中。

  1. 下载最新的代码版本或将存储库做为git子模块添加到您的git跟踪项目中。
  2. 在Xcode中打开项目,而后拖拽名为“LLDebugTool”的源文件夹到你的项目中。当提示Choose options for adding these files时,务必勾选Copy items if needed这项。
  3. 集成FMDB到项目中,FMDB是一个围绕SQLite的Objective-C包装器开源库。
  4. 在你须要使用LLDebugTool的文件里添加#import "LLDebug.h",或者直接在pch文件中添加#import "LLDebug.h"

如何使用

启动

你须要在"application:(UIApplication * )application didFinishLaunchingWithOptions:(NSDictionary * )launchOptions"中启动LLDebugTool,不然你可能会丢掉某些信息。

若是你想自定义一些参数,你须要在调用"startWorking"前配置这些参数。更详细的配置信息请看LLConfig.h

  • 快速启动
#import "AppDelegate.h"
#import "LLDebug.h"

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // The default color configuration is green background and white text color. 

    // Start working.
    [[LLDebugTool sharedTool] startWorking];
    
    // Write your project code here.
    return YES;
}
复制代码
  • 使用自定义的配置启动
#import "AppDelegate.h"
#import "LLDebug.h"

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // The default color configuration is LLConfigColorStyleHack. 
    
    // If you want to use other color configurations, you can use the following line.
    [LLConfig sharedConfig].colorStyle = LLConfigColorStyleSimple;
    
    // If you want to use a custom color configuration, you can use the following line.
    [[LLConfig sharedConfig] configBackgroundColor:[UIColor orangeColor] textColor:[UIColor whiteColor] statusBarStyle:UIStatusBarStyleDefault];
    
    // If you don't want to use color configuration, you can use the following line. [LLConfig sharedConfig].useSystemColor = YES; // Start working. [[LLDebugTool sharedTool] startWorking]; // Write your project code here. return YES; } 复制代码

日志

打印和保存一个日志。 更多的log宏信息查看LLLogHelper.h

  • 保存日志
#import "LLDebug.h"

- (void)testNormalLog {
    // Insert an LLog where you want to print.
    LLog(@"Message you want to save or print.");
}
复制代码
  • Save Log with event and level
#import "LLDebug.h"

- (void)test
- (void)testEventErrorLog {
    // Insert an LLog_Error_Event where you want to print an event and level log.
    LLog_Error_Event(@"The event that you want to mark. such as bugA, taskB or processC.",@"Message you want to save or print.");
}
复制代码

网络请求

你不须要作任何操做,只须要调用了"startWorking"就能够监控大部分的网络请求,包括使用NSURLSession,NSURLConnection和AFNetworking。若是你发现某些状况下没法监控网络请求,请打开一个issue来告诉我。

崩溃

你不须要作任何操做,只须要调用"startWorking"就能够截获崩溃,保存崩溃信息、缘由和堆栈信息,而且也会同时保存当次网络请求和日志信息。

App信息

LLDebugTool会监控app的CPU,内存和FPS。你能够更便捷的查看app的各类信息。

沙盒

LLDebugTool提供了一个快捷的方式来查看和操做沙盒文件,你能够更轻松的删除沙盒中的文件/文件夹,或者经过airdrop来分享文件/文件夹。只要是apple支持的文件格式,你能够直接经过LLDebugTool来预览。

更多使用

  • 你能够经过查看Wiki,得到更多帮助。
  • 你能够下载并运行LLDebugToolDemo来发现LLDebugTool的更多使用方式。Demo是在XCode9.3,ios 11.3,cocoapods 1.5.0下运行的,若是有任何版本兼容问题,请告诉我。

要求

LLDebugTool在支持ios8+,而且须要使用ARC模式。使用到的框架已经包含在大多数Xcode模板中:

  • UIKit

  • Foundation

  • SystemConfiguration

  • Photos

  • malloc

  • mach-o

  • mach

  • QuickLook

  • objc

  • sys

结构

  • LLDebug.h 公用头文件.

  • LLConfig 配置文件。

    用于自定义颜色、大小、标识和其余信息。若是您想要配置任何东西,您须要关注这个文件。

  • LLDebugTool 工具文件。

    用于启动和中止LLDebugTool,你须要看一下"LLDebugTool.h"这个文件。

  • Helper 辅助文件。

    若是你对功能的实现原理不感兴趣,那么能够忽略这个文件夹。

    • LLAppHelper 用于监视应用程序的各类属性。
    • LLCrashHelper 用于当App发生崩溃时,收集崩溃信息。
    • LLLogHelper 快速打印和保存日志。
    • LLNetworkHelper 用于监视网络请求。
    • LLSandboxHelper Sandbox Helper。用于查看和操做沙盒文件。
    • LLStorageManager Storage Helper。用于数据存储和读取。
  • UserInterface UI文件。

    若是你想要修改、查看或者学习UI方面的东西,你能够查看一下这个文件夹。

    • Base 父类文件
    • Categories 类扩展
    • Others 不通用的控件
    • Resources 图片资源
    • Sections 视图控制器
    • Tool 工具

联系

  • 若是你须要帮助,打开一个issue。
  • 若是你想问一个广泛的问题,打开一个issue。
  • 若是你发现了一个bug并能提供可靠的复制步骤,打开一个issue。
  • 若是你有一个功能请求,打开一个issue。
  • 若是你发现有什么不对或不喜欢的地方,就打开一个issue。
  • 若是你有一些好主意或者一些需求,请发邮件(llworkinggroup@qq.com)给我。
  • 若是你想贡献,提交一个pull request。

联系

更新日志

能够在 CHANGELOG 中找到每一个LLDebugTool版本的简要总结。

相关文章
相关标签/搜索