BugShaker

Shake to send a bug report!

CI Status Version License Platform codecov.io Sponsored by Detroit Labs

BugShaker allows your users to simply submit bug reports by shaking the device. When a shake is detected, the current screen state is captured and the user is prompted to submit a bug report via a mail composer with the screenshot attached.

Android developers: If you are looking for an Android library with similar functionality, check out stkent/bugshaker-android.

Screenshots

Report Prompt Report Compose View

Usage

To run the example project, clone the repo, and run pod install from the Example directory first.

All you have to do to enable bug reporting is import BugShaker in your AppDelegate and call the configure() method in application:didFinishLaunchingWithOptions, passing in the array of email recipients and an optional custom subject line:

  import BugShaker

  @UIApplicationMain
  class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?

    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
      /**
      *  Configure ShakeReport with an array of email recipients (required)
      *  and an optional custom subject line to use for all bug reports.
      */
      BugShaker.configure(to: ["example@email.com"], subject: "Bug Report")

      return true
    }

  }

NOTE: There is a known issue with using a mail compose view controller in a simulator which causes some simulators to crash. You will need to run the example on a device to test out the full report compose view functionality.

Disabling

If you need to disable BugShaker’s shake detection for any reason:

BugShaker.enabled = false

Installation

BugShaker is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod "BugShaker"

Author

Dan Trenz (@dtrenz) c/o Detroit Labs

License

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