BRYBugReporter 0.2.1

BRYBugReporter 0.2.1

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布最后发布2016年3月

Bryan Irace维护。



  • 作者:
  • Marco Arment

BugshotKit

iOS 应用内bug报告工具,为开发者和测试者提供带注释的屏幕截图和控制台日志。由 Marco Arment 开发。

(简要:集成 BugshotNSLog() 收集,适用于测试。)

只需在任何应用界面执行您选择的操作(摇动、两指向上滑、三指双击、从屏幕右侧边缘滑动等),Bugshot报告窗口即可滑动弹起。

Screenshot

它将自动截图您在应用中看到的任何内容,并包括一个活版的 NSLog() 控制台日志(无依赖)。 (也与 CocoaLumberjack 和能输出到标准系统日志的其他任何东西兼容,或您可以手动添加消息。)

点击截图将弹出一个内嵌的 Bugshot 应用版本:用粗橘色箭头和方框标记要注释的内容,或模糊处理敏感信息。

点击控制台将弹出一个全屏实时控制台,在调试时非常有用,即使您不提交 bug 报告也是如此。

如果想要省略截图或日志,则点击相应的绿色勾选标记。通过实现 BugshotSubmissionDelegate 并将您的自定义实现添加到 BugshotKit.sharedManager.submissionDelegate 中,您可以实现自己的 bug 提交机制。

仅用于开发和Beta测试!

BugshotKit 是为开发和非正式Beta测试制作的。 请勿将其用于App Store的构建版本。

为了帮助防止意外将 BugshotKit 集成到您的应用中,我已经包含了一个有用的私有API调用,在提交时会立即导致验证失败。如果您无论如何都要发布,它将在运行时尝试检测App Store的构建版本,并自行禁用。

这些保护措施并不能保证。请不要依赖它们。将 BugshotKit 从您的 App Store 构建版本中移除。

设置

确保您不会将 BugshotKit 集成到您的 App Store 构建版本中的最简单方法是仅在调试和非正式构建中链接到它。为此

  1. 从 BugshotKit Xcode 项目构建一个静态库。
  2. 将此库以及包含其中的头文件放置在您的项目文件夹中的某个位置。
  3. 确保您的应用程序构建设置中的库搜索路径和头文件搜索路径包含您放置这些文件的路径。
  4. -lBugshotKit 添加到“其他链接器标志”设置中,但仅针对调试和非正式构建。
  5. 在 BugshotKit 导入和调用周围使用条件宏(例如“#if defined(DEBUG) || defined(ADHOC)...#endif”)。

使用说明

只需在application:didFinishLaunchingWithOptions:中调用[BugshotKit enableWithNumberOfTouches:...]即可。

#import "BugshotKit.h"

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    [BugshotKit enableWithNumberOfTouches:1 performingGestures:BSKInvocationGestureSwipeUp];
}

就是这样,真的。控制台跟踪将立即开始,并在下一个运行循环中,它会寻找带有rootViewControllerUIWindow并附加其手势处理器(如果有)。

Bugshot也可以在用户摇动设备时显示,您可以用在应用代理中的BSKWindow代替UIWindow

self.window = [[BSKWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

如果您不希望使用手势触发,您可以手动调用它(比如从按钮中)。

[BugshotKit show];

许可

请参阅包含的LICENSE文件。(这是MIT许可。)

如果您使用BugshotKit,请考虑支持我的账单支付项目。

感谢。

Inconsolata 字体

BugshotKit包含Inconsolata,这是一个在SIL Open Font License下发布的免费等宽编程字体,使控制台看起来更美观。

将其添加到您应用程序的资源中即可使用。如果它不存在,BugshotKit将回退到Courier New,但控制台看起来会更差。