LLDebugTool - 便捷的IOS調試工具

LLDebugTool - 便捷的IOS調試工具

HDB-Li/LLDebugTool?

github.com圖標

LLDebugTool是一款針對開發者和測試者的調試工具,它可以幫助你在非Xcode的情況下,進行數據分析和操作。

為您的下一個項目選擇LLDebugTool,或者遷移到您現有的項目中——您會為此感到驚喜!

我能用LLDebugTool做什麼?

  • 檢查網路請求或者查看某些事件的日誌信息,而不必非在XCode運行下運行。這在解決測試人員的問題上很有用。
  • 更輕鬆的篩選有用的信息。
  • 更輕鬆的處理偶發的問題。
  • 更輕鬆的分析崩潰原因。
  • 更輕鬆的分享、預覽或刪除沙盒文件,這在開發階段非常有用。
  • 更輕鬆的觀察App的CPU,內存,FPS等信息。

添加 LLDebugTool 到你的項目中

CocoaPods

CocoaPods 是集成LLDebugTool的首選方式。

  1. 添加 pod LLDebugTool 到你的Podfile里。如果只想在Debug模式下使用,則添加pod LLDebugTool ,:configurations => [Debug] 到你的Podfile里。
  2. 終端輸入pod install來進行集成。搜索不到LLDebugTool時,可先運行pod repo update,再執行pod install
  3. 在你需要使用LLDebugTool的文件里添加#import "LLDebug.h",或者直接在pch文件中添加#import "LLDebug.h"

源文件

您可以直接將名為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 dont 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來預覽。

更多使用

你可以下載並運行"LLDebugToolDemo"來發現LLDebugTool的更多使用方式。Demo是在XCode9.3,ios 11.3,cocoapods 1.5.0下運行的,如果有任何版本兼容問題,請告訴我。

要求

LLDebugTool在支持ios8+,並且需要使用ARC模式。使用到的框架已經包含在大多數Xcode模板中:

  • UIKit
  • Foundation
  • SystemConfiguration
  • 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。

聯繫

  • 可以在簡書中發私信給我。
  • 可以發郵件到llworkinggroup@qq.com

更新日誌

可以在 CHANGELOG 中找到每個LLDebugTool版本的簡要總結。


推薦閱讀:

iPhone 詐騙又出新招,別看見彈窗就輸密碼
什麼時候才能在面試iOS開發時,只問swift語言而不問OC呢?
為什麼更新 iOS 9 以後通過 itunes 備份不了應用了?
ios11又更新了,這些控制項你都有嗎?

TAG:iOS | Android | iOS應用 |