GodEye

Automaticly display Log,Crash,Network,ANR,Leak,CPU,RAM,FPS,NetFlow,Folder and etc with one line of code based on Swift. Just like God opened his eyes

  • 所有者: zixun/GodEye
  • 平台:
  • 許可證: MIT License
  • 分類:
  • 主題:
  • 喜歡:
    0
      比較:

Github星跟蹤圖

GodEye

Version
License
Platform
Carthage compatible

Automaticly display Log,Crash,Network,ANR,Leak,CPU,RAM,FPS,NetFlow,Folder and etc with one line of code based on Swift. Just like God opened his eyes.

中文文档

It's so huge that I split it into several independent components:

  • Log4G — Simple, lightweight logging framework written in Swift.
  • AssistiveButton — Simple Assistive Button.
  • AppBaseKit — A handy kit of Swift extensions and wrapped class to boost your productivity.
  • AppSwizzle — lightweight and flexible method swizzling wrapped by swift.
  • LeakEye — LeakEye is a memory leak monitor.
  • NetworkEye — NetworkEye is a network monitor,automatic catch the request and response infomation of all kinds of request send.
  • ANREye — ANREye is an ANR (Application Not Responding) monitor,automatic catch the ANR and return stacktrace of all threads.
  • ASLEye — ASLEye is an ASL(Apple System Log) monitor, automatic catch the log from NSLog by asl module.
  • CrashEye — CrashEye is an ios crash monitor,automatic catch exception crash & signal crash and return the stacktrace.
  • SystemEye — SystemEye is a system monitor,automatic catch the infomation of cpu,memory....etc.

Features

  • monitor for the log and point out log type.
  • monitor for the crash, include Uncatched Exception and Signal.
  • monitor for the network, all information of request and response.
  • monitor for the ANR, tell you the stacktrace of all threads.
  • monitor for the memory leak, tell you the leak object's class name.
  • a terminal for you to customized your commands and things what to do.
  • monitor for the cpu usage of system and application.
  • monitor for the ram usage of system and application.
  • monitor for the FPS.
  • monitor for the netflow of system and application.
  • a file browser for look through the sandbox, .app and root directory.
  • custom and runtime setting

Characteristics

  • richly: comprehensive feature
  • conveniently: one line code access
  • automaticly: no code intrusion
  • safety: no compile code in release

Preview

Book and Principle

I has wrote a book named 《iOS监控编程》,each chapter records the course function of the implementation details and the way to explore.sorry for english friends,this book wrote by chineses.

Installation

CocoaPods

GodEye is available through CocoaPods. To install
it, simply add the following line to your Podfile:

pod "GodEye"

Not build in Release

First, add configurations in Podfile.

pod 'GodEye', '~> 1.0.0', :configurations => ['Debug']

Then, find Other Swift Flags in your target's Build Settings,add DEBUG in Debug scheme.

Finally, add DEBUG macro in makeEye:

#if DEBUG 
    GodEye.makeEye(with: self.window!)
#endif

Carthage

Or, if you’re using Carthage, add GodEye to your Cartfile:

github "zixun/GodEye"

Add GodEye to Embed Frameworks

On your application targets’ “General” settings tab, in the “Embed Frameworks” section, drag and drop GodEye.framework from the Carthage/Build folder on disk.

Add Dependency to Linked Frameworks and Libraries

On your application targets’ “General” settings tab, in the “Linked Frameworks and Libraries” section, drag and drop the dependency framework used in GodEye from the Carthage/Build folder on disk.

Add Run Script

On your application targets’ “Build Phases” settings tab, click the “+” icon and choose “New Run Script Phase”. Create a Run Script in which you specify your shell (ex: /bin/sh), add the following contents to the script area below the shell:

/usr/local/bin/carthage copy-frameworks

and add the paths to the frameworks you want to use under “Input Files”:

OpenSource Application Use GodEye

CocoaChinaPlus is an open source application wrote by swift, now the GodEye is work well in it!

Usage

import at AppDelegate:

import GodEye

making GodEye at application:didFinishLaunchingWithOptions:

GodEye.makeEye(with:self.window!)

well, make GodEye with one line code as above will use default configuration.We also can custom our configuration:

let configuration = Configuration()
configuration.command.add(command: "test", description: "test command") { () -> (String) in
    return "this is test command result"
}
configuration.command.add(command: "info", description: "print test info") { () -> (String) in
    return "info"
}
    
GodEye.makeEye(with: self.window!, configuration: configuration)

the example above is custom command configuration, we also can custom control and switch configuration.see detail at ControlConfiguration and SwitchConfiguration

Example

To run the example project, clone the repo, and run pod install from the Example directory first.

Author

twitter: @zixun_

email: chenyl.exe@gmail.com

github: zixun

blog: 子循(SubCycle)

Thanks

First is Github, it gives me a lot of ideas and inspiration, and even ready-made code:

  • Log monitor inspired by AELog
  • Crash monitor inspired by GT
  • ANR monitor inspired by Watchdog
  • Network monitor inspired by NetworkEye

Secondly is StackOverFlow, it answers a lot of problems encountered in the author's writing and development,here are a few images of deep:

Finally, thanks to several great blog:

License

GodEye is available under the MIT license. See the LICENSE file for more info.

主要指標

概覽
名稱與所有者zixun/GodEye
主編程語言Swift
編程語言Swift (語言數: 3)
平台
許可證MIT License
所有者活动
創建於2017-02-24 09:04:53
推送於2024-09-22 16:14:18
最后一次提交2024-09-23 00:14:18
發布數9
最新版本名稱2.0.3 (發布於 2022-09-18 02:04:23)
第一版名稱1.0.0 (發布於 )
用户参与
星數3.9k
關注者數81
派生數356
提交數81
已啟用問題?
問題數50
打開的問題數8
拉請求數3
打開的拉請求數2
關閉的拉請求數0
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?