iOS开源:GodEye - iOS监控编程
liuruirui
8年前
<p style="text-align:center"><img src="https://simg.open-open.com/show/23eb001716d3c2074e2066bd832eecf5.png"></p> <p>使用基于Swift的一行代码自动显示日志,崩溃,网络,ANR,泄漏,CPU,RAM,FPS,NetFlow,文件夹等。 就像上帝打开他的眼睛。</p> <p>为了尽量复用代码,这个项目中的某些组件之间有比较强的依赖关系。为了方便其他开发者使用,我从中拆分出以下独立组件:</p> <ul> <li><a href="/misc/goto?guid=4959741762245270442">Log4G</a> — Simple, lightweight logging framework written in Swift.</li> <li><a href="/misc/goto?guid=4959741762367331188">AssistiveButton</a> — Simple Assistive Button.</li> <li><a href="/misc/goto?guid=4959741762484022027">AppBaseKit</a> — A handy kit of Swift extensions and wrapped class to boost your productivity.</li> <li><a href="/misc/goto?guid=4959741762607955966">AppSwizzle</a> — lightweight and flexible method swizzling wrapped by swift.</li> <li><a href="/misc/goto?guid=4959741762719888240">LeakEye</a> — LeakEye is a memory leak monitor.</li> <li><a href="/misc/goto?guid=4959741762845104922">NetworkEye</a> — NetworkEye is a network monitor,automatic catch the request and response infomation of all kinds of request send.</li> <li><a href="/misc/goto?guid=4959741762981626145">ANREye</a> — ANREye is an ANR (Application Not Responding) monitor,automatic catch the ANR and return stacktrace of all threads.</li> <li><a href="/misc/goto?guid=4959741763120734860">ASLEye</a> — ASLEye is an ASL(Apple System Log) monitor, automatic catch the log from NSLog by asl module.</li> <li><a href="/misc/goto?guid=4959741763243728280">CrashEye</a> — CrashEye is an ios crash monitor,automatic catch exception crash & signal crash and return the stacktrace.</li> <li><a href="/misc/goto?guid=4959741763381008303">SystemEye</a> — SystemEye is a system monitor,automatic catch the infomation of cpu,memory....etc.</li> </ul> <h2>功能</h2> <ul> <li> 监控日志并区分日志类型.</li> <li> 监控崩溃, 包括Uncatched Exception和Signal崩溃.</li> <li> 监控网络, 包括请求和响应的所有信息.</li> <li> 监控卡顿, 并告诉你卡顿时候的所有线程的堆栈.</li> <li> 监控内存泄露, 告诉你泄露的对象的类名.</li> <li> 提供一个可以自定义指令和输出的控制台.</li> <li> 监控系统和应用自身的CPU使用率.</li> <li> 监控系统与应用自身的内存使用率.</li> <li> 监控帧率FPS.</li> <li> 监控系统和应用自身的网络流量.</li> <li> 提供一个文件浏览器可用于查看沙盒,.app 以及系统根目录的文件.</li> <li> 运行时自定义设置</li> </ul> <h2>特点</h2> <ul> <li> 丰富: 功能全面</li> <li> 方便: 一行代码接入</li> <li> 自动: 零代码入侵</li> <li> 安全: Release包可不打入一行代码</li> </ul> <h2>预览</h2> <p style="text-align: center;"><a href="/misc/goto?guid=4959741763513162497"><img src="https://simg.open-open.com/show/5fb80922d91854afeb3cadc3ff646882.png" alt="iOS开源:GodEye - iOS监控编程" width="750" height="1334"></a> <a href="/misc/goto?guid=4959741763633093722"><img src="https://simg.open-open.com/show/a058f38fa582ca71831d318581346f55.png" alt="iOS开源:GodEye - iOS监控编程" width="750" height="1334"></a> <a href="/misc/goto?guid=4959741763765875844"><img src="https://simg.open-open.com/show/e64e2fba5f7de5dd662334543faa909e.png" alt="iOS开源:GodEye - iOS监控编程" width="750" height="1334"></a><a href="/misc/goto?guid=4959741763900570730"><img src="https://simg.open-open.com/show/6e82fa017085456b3719207f1f3576b1.png" alt="iOS开源:GodEye - iOS监控编程" width="750" height="1334"></a> <a href="/misc/goto?guid=4959741764025212343"><img src="https://simg.open-open.com/show/9ab6d8314946b75189c87c83fbdaf539.jpg" alt="iOS开源:GodEye - iOS监控编程" width="719" height="1280"></a> <a href="/misc/goto?guid=4959741764159153678"><img src="https://simg.open-open.com/show/5b0efc6c782d81e2d7f6cb6ab64138fb.png" alt="iOS开源:GodEye - iOS监控编程" width="750" height="1334"></a><a href="/misc/goto?guid=4959741764292759677"><img src="https://simg.open-open.com/show/bbf7375d4185e6af22b960acda81e311.png" alt="iOS开源:GodEye - iOS监控编程" width="750" height="1334"></a> <a href="/misc/goto?guid=4959741764414978522"><img src="https://simg.open-open.com/show/b05cacdbb544b9a01b13bf3b5482ce40.png" alt="iOS开源:GodEye - iOS监控编程" width="750" height="1334"></a> <a href="/misc/goto?guid=4959741764546988731"><img src="https://simg.open-open.com/show/4d14ee0f8cd10f4b1ffcdc6f822b5cc5.jpg" alt="iOS开源:GodEye - iOS监控编程" width="719" height="1280"></a></p> <h2>安装</h2> <p>GodEye目前可以通过 <a href="/misc/goto?guid=4958539574664641318">CocoaPods</a>来安装.只需要将下面的代码加入到你的Podfile中即可:</p> <pre> pod "GodEye"</pre> <h2>在使用GodEye的开源App</h2> <p><a href="/misc/goto?guid=4959662705320375764">CocoaChinaPlus</a>是一款用Swift编写的开源的CocoaChina第三方客户端,目前已经接入GodEye,并且可以很好的工作。</p> <h2>使用</h2> <p>在<code>AppDelegate</code>中用下面的代码导入进来:</p> <pre> import GodEye</pre> <p>然后在 <code>application:didFinishLaunchingWithOptions</code>初始化GodEye:</p> <pre> GodEye.makeEye(with:self.window!)</pre> <p>当然,一行代码接入是一种默认配置的接入,读者也可以通过传入自己的<code>Configuration</code>来精细化配置各个细节:</p> <pre> 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)</pre> <p>上面的示例是自定义命令的配置,我们也可以自定义<code>control</code>和<code>switch</code>的配置,详细的配置项可以看<code>ControlConfiguration</code>和 <code>SwitchConfiguration</code>两个类。</p> <h2>示例</h2> <p>clone这个库,在Example目录下运行<code>pod install</code>就可以跑工程自带的示例工程了。</p> <h2>开源协议</h2> <p>GodEye开源在 MIT 协议下,详细请查看 LICENSE 文件。</p> <h2> </h2> <p> </p>