DrawReport 0.2

DrawReport 0.2

TestsTested
LangLanguage Obj-CObjective C
License MIT
ReleasedLast Release Feb 2015

Maintained by Oleg Poyaganov.



  • By
  • Oleg Poyaganov

Report UI issues by shaking your device to draw and annotate them.

This library is for app's testing/beta stage only. Check it before release your app.

Sometimes your meticulous user finds a bug in your iOS app's awesome and magnificent UI but does not know how to report it. Now it's easy to do with DrawReport - a small library for iOS app development process. Simply integrate it, shake your device and try to draw something!

How To Get Started

Usage

You need to configure DrawReport in your AppDelegate class inside application:didFinishLaunchingWithOptions: method:

[DRPReporter startListeningShake];

You can stop listening for shake events when you don't want DrawReporter's functionality:

[DRPReporter stopListeningShake];

You can share with standard iOS available sharers (mail, messages, photo stream, copy, etc) in default configuration.

Report Screenshot

Additional Sharers

Your own

If you want to implement your custom sharer you need to create object which implements DRPReporterViewControllerDelegate. You can share screenshot with drawings and notes implementing following method:

- (void)reporterViewController:(DRPReporterViewController *)reporterViewController didFinishDrawingImage:(UIImage *)image withNoteText:(NSString *)noteText;

If you want to share your code, I'm open for merge requests!

Basecamp

Basecamp sharer which posts report as Todo to specified Todo list is already implemented and shipped out of the box. You need to specify Basecamp sharer dependency line in your Podfile instead of "DrawReport":

pod "DrawReport/Basecamp", "~> 0.2"
Basecamp configuration
  1. Register your application (Basecamp auth scheme required it) on 37signals integrate site: https://integrate.37signals.com. You will get "Client ID", "Client Secret" and "Redirect URI".

  2. Configure DRPBasecamp singleton instance in your AppDelegate before invoking "startListeningShake":

    [[DRPBasecamp sharedInstance] configureWithClientId:_<YOUR CLIENT ID>_
                                           clientSecret:_<YOUR CLIENT SECRET>_
                                            redirectURL:[NSURL URLWithString:_<YOUR REDIRECT URI>_]];
    [DRPReporter registerReporterViewControllerDelegate:[DRPBasecamp sharedInstance]];
    [DRPReporter startListeningShake];

Basecamp Configuration Screenshot

Requirements

  • Supported build target - iOS 8.1 (Xcode 6.1)
  • Earliest supported deployment target - iOS 6.0

License

DrawReport is available under the MIT license. See the LICENSE file for more info.