GodEye 1.1.2

GodEye 1.1.2

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2017年3月
SwiftSwift 版本3.0
SPM支持 SPM

zixun维护。



 
依赖项
AppBaseKit~> 0.2.2
Log4G~> 0.2.2
AppSwizzle~> 1.1.2
AssistiveButton~> 1.1.2
ASLEye~> 1.1.1
CrashEye~> 1.1.2
ANREye~> 1.1.1
SystemEye~> 0.2.2
NetworkEye.swift~> 1.1.3
LeakEye~> 1.1.3
FileBrowser~> 0.2.0
SwViewCapture~> 1.0.6
SQLite.swift~> 0.11.1
ESPullToRefresh~> 2.6
 

GodEye 1.1.2

基于Swift,仅用一行代码即可自动显示Log、Crash、Network、ANR、Leak、CPU、RAM、FPS、NetFlow、Folder等。就像上帝张开了眼睛。

中文文档

由于内容庞大,已将其拆分为几个独立组件

  • Log4G — 用Swift编写的简单、轻量级的日志框架。
  • AssistiveButton — 简单的辅助按钮。
  • AppBaseKit — Swift扩展和包装类的一个实用工具包,以提高您的生产力。
  • AppSwizzle — 由swift封装的轻量级和灵活的方法交换。
  • LeakEye — 内存泄露监视器。
  • NetworkEye — 网络监视器,自动捕获发送的各种请求的请求和响应信息。
  • ANREye — ANREye是ANR(应用程序无响应)监视器,自动捕获ANR和所有线程的堆栈跟踪。
  • ASLEye — ASLEye是ASL(Apple系统日志)监视器,自动捕获由asl模块执行的NSLog日志。
  • CrashEye — CrashEye是iOS崩溃监视器,自动捕获异常崩溃和信号崩溃,并返回堆栈跟踪。
  • SystemEye — SystemEye是系统监视器,自动捕获CPU、内存等的信息。

特性

  • [x] 监控日志并指示日志类型。
  • [x] 监控崩溃,包括未捕获的异常和信号。
  • [x] 监控网络,包括请求和响应的所有信息。
  • [x] 监控ANR,告诉你所有线程的堆栈跟踪。
  • [x] 监控内存泄露,告诉你泄露对象的类名。
  • [x] 一个终端供你自定义命令和要执行的事情。
  • [x] 系统和应用程序的CPU使用率监控。
  • [x] 系统和应用程序的RAM使用率监控。
  • [x] FPS监控。
  • [x] 系统和应用程序的网流监控。
  • [√] 沙盒、.app 根目录文件浏览工具。
  • [√] 自定义和运行时设置

特点

  • [√] 丰富:全面功能
  • [√] 便捷:一行代码访问
  • [√] 自动:无需代码侵入
  • [√] 安全:发布版本不编译代码

预览

书籍与原理

我写了一本名为《iOS监控编程》的书,每个章节记录了课程功能的实现细节和探索方法。对于英文朋友来说,这本书是中文写的。

安装

发布中不构建

首先,在你的Podfile中添加配置。

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

然后,在你的目标的“构建设置”中找到“其他 Swift 标志”,在调试方案中添加“DEBUG”。

最后,在makeEye中添加“DEBUG”宏:

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

将 GodEye 添加到嵌入式框架

在你的应用程序目标的“通用”设置选项卡中,在“嵌入框架”部分,从磁盘上的 Carthage/Build 文件夹拖动并放下 GodEye.framework

将依赖项添加到链接的框架和库

在你的应用程序目标的“通用”设置选项卡中,在“链接的框架和库”部分,从磁盘上的 Carthage/Build 文件夹拖动并放下 GodEye 中使用的依赖框架。

添加运行脚本

在你的应用程序目标的“构建阶段”设置选项卡中,单击“+”图标并选择“新运行脚本阶段”。在脚本区域中创建一个运行脚本,指定你的shell(例如:/bin/sh),在shell下添加以下内容

/usr/local/bin/carthage copy-frameworks

并且将想要使用的框架的路径添加到“输入文件”下

开源应用程序使用 GodEye

CocoaChinaPlus 是一个开源应用程序,由 swift 编写,现在 GodEye 在其中运行良好!

使用方法

在 AppDelegate 中导入

import GodEye

application:didFinishLaunchingWithOptions 中创建 GodEye

GodEye.makeEye(with:self.window!)

好了,使用上面一行代码创建 GodEye 将使用默认配置。我们也可以自定义我们的配置

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)

上面的示例是自定义命令配置,我们还可以自定义控制和开关配置。详细信息请参阅 ControlConfigurationSwitchConfiguration

示例

要运行示例项目,首先从仓库克隆,然后从 Example 目录运行 pod install

作者

twitter: @zixun_

email: [email protected]

github: zixun

blog: 子循(SubCycle)

谢谢

首先感谢Github,它给了我很多灵感和现成的代码

  • 日志监控受到了AELog的启发
  • 崩溃监控受到了GT的启发
  • ANR监控受到了Watchdog的启发
  • 网络监控受到了NetworkEye的启发

其次感谢StackOverFlow,它回答了作者在编写和开发过程中遇到的大量问题,这里有一些深入的图片

最后,感谢几位优秀的博客作者

许可证

GodEye在MIT许可证下可用。更多信息请参阅LICENSE文件。