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!
I recommend you to take a look at CocoaPods and use it for dependency management in your iOS projects.
To add DrawReport to your project it is necessary that the following lines are in your Podfile:
platform :ios, '7.0'
pod "DrawReport", "~> 0.1"
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.
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 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.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".
-
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];
- Supported build target - iOS 7.0 (Xcode 5.0, Apple LLVM compiler 5.0)
- Earliest supported deployment target - iOS 6.0
DrawReport is available under the MIT license. See the LICENSE file for more info.