DVFloatingWindow 0.3.1

DVFloatingWindow 0.3.1

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最后发布2014年12月

未认领 维护。




  • 作者
  • Dmitry Vorobyov

DVFloatingWindow 是一款简单而有效的工具,您可以直接从应用程序中查看日志。

您可以通过为每个日志创建单独的选项卡来管理它们,快速切换选项卡,并查看所有所需详细信息。此外,还有添加带有自定义处理器的按钮的机会,帮助您调试应用程序(例如,发送网络请求、重置设置等)。

DVFloatingWindow GIF demo

安装

将 DVFloatingWindow 包含到您的项目中有两种可能的方法

  1. 使用 CocoaPods

    • 在您的 Podfile 中添加 DVFloatingWindow 的 pod 条目 pod 'DVFloatingWindow'
    • 通过运行 pod install 来安装 pod
  2. 手动方式

    • 获取 最新版本
    • 将 DVFloatingWindow 文件夹中的文件拖放到您的项目中(请检查 "添加到目标" 和 "将项复制到目标分组文件夹中" 复选框)

在您的 <Project name>-Prefix.pch 文件中启用 DVFloatingWindow。如果您想使其在整个项目中可见,请导入头文件。不要忘记在提交应用程序到 AppStore 之前禁用 DVFloatingWindow!

#define DV_FLOATING_WINDOW_ENABLE 1

// uncomment if you want to make FLoatingWindow accessible all over project
//#import "DVFloatingWindow.h"

使用方法

设置窗口显示

首先,设置显示/隐藏窗口的手势(点击或长按)。

// to show/hide the window with 3 fingers tap
DVWindowActivationTap(3);
// to show/hide the window with 2 fingers long press for 0.5 second
DVWindowActivationLongPress(2, 0.5);

您也可以通过编程方式显示/隐藏窗口。

DVWindowShow();
DVWindowHide();

记录到默认记录器

默认情况下,DVFloatingWindow 有一个 Default 记录器选项卡。将其记录下来与使用 NSLog 一样简单。

DVLog(@"Current date and time: %@", [NSDate date]);

创建自定义记录器

在使用之前,您必须创建自定义记录器。任何记录器方法都接受 NSString * 作为记录器标识符作为参数。

DVLoggerCreate(@"My custom logger");

// and now you can log
DVLoggerLog(@"My custom logger", @"Here is current date again %@", [NSDate date]);

// a shorter version of previous macro
DVLLog(@"My custom logger", @"Hello");

// Default logger identifier is @"Default", so these two lines are similar
DVLLog(@"Default", @"This is an explicit way of logging to Default logger");
DVLog(@"This is an implicit way");

// to clean up all you've logged before
DVLoggerClear(@"Default");

// to delete logger if you don't need it anymore
DVLoggerRemove(@"My custom logger");

// you no longer have "My custom logger", so this line does nothing
DVLLog(@"My custom logger", @"You won't receive this message");

有关配置记录器的信息,请参阅 "配置" 部分。

添加带有处理器的按钮

如果您需要清理 NSUserDefaults、向服务器发送请求或模拟推送接收,您可以添加带有自定义处理器的按钮。

// Button title, handler
DVButtonAdd(@"Remove authorization token", ^{
    [[NetworkManager sharedInstance] removeAuthorizationToken];
});

切换选项卡

// go forward
DVTabNext();

// go back
DVTabPrevious();

// show the Default logger
DVTabSwitchToLogger(@"Default");

// show tab with buttons
DVTabSwitchToButtonsTab();

配置

DVFloatingWindow有一些可配置选项。所有这些选项都是以 DVConfig 前缀开头的。

// you can get or set frame at any time:
CGRect dvFrame = DVConfigFrameGet();
dvFrame.origin.x = 30.0;
dvFrame.origin.y = 20.0;
DVConfigFrameSet(dvFrame);

// you can change all colors
DDLog(@"My old background color was %@", DVConfigBackgroundColorGet());

DVConfigBackgroundColorSet([UIColor grayColor]);

DDLog(@"My new background color is %@", DVConfigBackgroundColorGet());

// making it red
DVConfigTopBGColorSet       ([UIColor redColor]);
DVConfigTopMenuBGColorSet   ([UIColor darkGrayColor]);
DVConfigTopTextColorSet     ([UIColor whiteColor]);
DVConfigRightCornerColorSet ([UIColor redColor]);

您可以设置或获取默认电子邮件选项。

DVConfigEmailToRecipientsSet(@[@"[email protected]", @"[email protected]"]);
DVConfigEmailCcRecipientsSet(@[@"[email protected]"]);

DVConfigEmailSubjectSet(@"My app logs");

DVConfigEmailMessageBodySet(@"Here are some logs:");
DVConfigEmailIsMessageBodyHTMLSet(NO);

记录器只有设置方法,第一个参数始终是 loggerKey。

DVConfigLoggerLatestMessageOnTop(@"Default", YES);

DVConfigLoggerFont(@"Pushes logger", [UIFont systemFontOfSize:17.0]);

发布

当您的应用准备发布时,只需禁用DVFloatingWindow。

#define DV_FLOATING_WINDOW_ENABLE 0

系统要求

iOS 5.0及以上版本

实用提示

重定向NSLog

要将所有的NSLog发送到Xcode控制台和DVFloatingWindow,只需将此宏添加到<项目名称>-Prefix.pch文件中。

#define NSLog(format, ...) DVLog(format, ##__VA_ARGS__); NSLog(format, ##__VA_ARGS__)

与CocoaLumberjack集成

CocoaLubmerjack是一个开源的iOS和OS X的日志记录工具。要集成DVFloatingWindow与它,您应该获取DVFloatingLumberjack日志记录器。

错误和功能请求

发现了错误?有功能请求?请提交一个问题

更新日志

CHANGELOG.md

联系方式

电子邮箱

@__dvor

许可证

DVFloatingWindow采用了MIT许可证。有关更多信息,请参阅LICENSE文件。

Bitdeli Badge