Overlog 1.0.0

Overlog 1.0.0

Netguru 维护。



Overlog 1.0.0

  • 作者:
  • Netguru

Overlog 是一个 iOS 应用程序的覆盖程序,让个人开发者和小组更容易测试和调试他们的应用程序。

功能

查看您应用的 HTTP 流量

Overlog 使用 ResponseDetective 来追踪在宿主应用程序中发生的 HTTP 流量。请求、响应和错误被分组并实时更新。您可以查看它们的详细信息,包括请求和响应的头部和正文,以及发生时的错误详细数据。

所有这些数据都触手可及,可能会极大地提高与网络通信相关问题的测试和调试效率。

为了允许 Overlog 检查 HTTP 流量,需要额外的代码行。请参阅使用部分获取更多信息。

检查用户默认设置和钥匙串项

Overlog 扫描您的宿主应用程序的用户默认设置和KEYCHAIN项,并以干净的关键字-值方式显示给您。

读取控制台日志

Overlog会将您的应用控制台输出重定向到可见UI中,这样您就可以使用日志来了解应用状态的变化。

一键导出

Overlog展示的所有数据都可以通过点击一个按钮与您的团队共享。

独特设计

Overlog的独特之处在于其令人惊叹且非侵入性的设计。

高可配置性

上述所有功能都可以通过代码来启用或禁用。您可以完全控制Overlog显示的内容。

使用方法

将Overlog附加到您的关键窗口

要在您的应用中使用Overlog,请安装它,导入它,并在设置关键窗口后立即添加以下代码

Overlog.shared.attach(to: window)

就这样!屏幕上会出现一个Overlog按钮。

配置功能

您可以通过修改Overlog的配置来启用和禁用功能。

// Enable only HTTP Traffic feature.
Overlog.shared.configuration.enabledFeatures = [.httpTraffic]

// Enable only User Defaults and Keychain features.
Overlog.shared.configuration.enabledFeatures = [.userDefaults, .keychain]

// Enable all features (default).
Overlog.shared.configuration.enabledFeatures = Overlog.Feature.all

如果您想检查Keychain项,就必须让Overlog知道它的服务标识符

// Use custom keychain service identifier.
Overlog.shared.configuration.keychainIdentifier = "com.example.app.keychain-identifier"

// Use default keychain service identifier (default).
Overlog.shared.configuration.keychainIdentifier = nil

根据目标平台,您可以选择性地启用和禁用功能

// Disable all features on simulator.
#if (arch(i386) || arch(x86_64)) && os(iOS)
    Overlog.shared.configuration.enabledFeatures = []
#endif

隐藏和显示覆盖按钮

如果您觉得覆盖按钮过于侵扰,但又不想完全删除Overlog,您可以在用户摇晃设备时启用其切换功能

// Enable shake gesture support.
Overlog.shared.configuration.toggleButtonOnShake = true

// Disable shake gesture support (default).
Overlog.shared.configuration.toggleButtonOnShake = false

您也可以编程方式来隐藏和显示覆盖按钮

// Hide the button.
Overlog.shared.isHidden = true

// Show the button (default).
Overlog.shared.isHidden = false

配置HTTP流量调试

最后,但同样重要的是——为了允许Overlog检查HTTP流量,您必须指向一个要检查的会话配置实例

// Create a configuration.
let configuration = URLSessionConfiguration.default

// Enable HTTP traffic inspection.
Overlog.shared.enableHTTPTrafficDebugging(in: configuration)

// Create and normally use a session.
let session = URLSession(configuration: configuration)

要求

Overlog需要Xcode 9.3或更高版本,并支持iOS 8.0或更高版本

安装

Carthage

如果你使用的是Carthage,请将以下依赖项添加到你的Cartfile

github "netguru/Overlog" {version}

CocoaPods

如果你使用的是CocoaPods,请将以下依赖项添加到你的Podfile

use_frameworks!
pod 'Overlog', '~> {version}'

贡献

想法

如果您有关于在Overlog中支持的新功能的想法,请随时创建问题

拉取请求

您的(是的,就是您!)提出的拉取请求始终受到欢迎——无论规模大小。我们会对所有拉取请求给予回应并提供反馈!

开发

开发需要安装以下工具

  • Xcode 9.3并使用最新的iOS 11.4 SDK,
  • Carthage 0.28或更高版本。

假设上述工具已经安装,克隆仓库并用Carthage安装项目依赖

$ carthage bootstrap --platform iOS --cache-builds

然后,打开Overlog.xcodeproj并构建项目!

路线图

版本1.x

下一个次要版本将专注于改进现有功能和修复错误。新功能可能会推迟到下一个主要版本。

版本 2.0

下一个主要版本将包括对 Swift 5 的支持,并且可能包含一些大型新功能。预计发布日期:2018 年秋季。

关于

该项目由 Netguru 以爱心制作和维护。

许可协议

Overlog 在 MIT 许可协议下授权。