Awesome bug reporting for iOS apps
Objective-C Other
danhd123 Fix crash on iOS 12 when attempting to upload HEIC image attachements
Note that the backend doesn’t actually support HEIC right now, so we upload it converted to JPEG
Latest commit bdb551b Jul 21, 2018

README.md

Platform CocoaPods Compatible Carthage compatible License Twitter

Buglife is an awesome bug reporting SDK & web platform for iOS apps. Here's how it works:

  1. User takes a screenshot, or stops screen recording
  2. User annotates their screenshot & writes feedback
  3. Bug reports are pushed to your team's email/Jira/Slack/Asana/wherever you track bugs.

You can also find Buglife for Android here.


Main Features
👤 Free + no account required
📖 Open source
🏃🏽‍♀️ Fast & lightweight
🎨 Themeable
📩 Automatic caching & retry
📜 Custom form fields, with pickers & multiline text fields
ℹ️ Advanced logging, with debug / info / warning levels
📎 Custom attachments, including JSON & SQLite support
🎥 Attach photos & video from camera roll
📟 String customization
🌎 16 languages supported, with RTL for Arabic + Hebrew
🙈 Automatic view blurring for sensitive information
👩🏽‍💻 Written in Objective-C, with full Swift support

Installation

CocoaPods

To integrate Buglife into your Xcode project using CocoaPods, specify it in your Podfile:

pod 'Buglife'

Then, run the following command:

$ pod install

Carthage

Place the following line in your Cartfile:

github "Buglife/Buglife-iOS"

Now run carthage update. Then drag & drop the Buglife.framework in the Carthage/build folder to your project. Refer to the Carthage README for detailed / updated instructions.

Manually

  1. Download the Buglife SDK

  2. Unzip it & pull Buglife.framework into the Frameworks group in your project. In the following dialog box, make sure you have "Copy items if needed" checked.

Code

  1. Import the Buglife framework header into your app delegate.

    // Swift
    import Buglife
    // Objective-C
    #import <Buglife/Buglife.h>
  2. Add the following to your app delegate's application:didFinishLaunchingWithOptions: method.

    // Swift
    Buglife.shared().start(withEmail: "you@yourdomain.com")
    // Objective-C
    [[Buglife sharedBuglife] startWithEmail:@"you@yourdomain.com"];

    Be sure to replace you@yourdomain.com with your own email address; this is where bug reports will be sent to.

Usage

Build & run your app. Once your app is running, shake your device (^⌘Z in the simulator) to report a bug! Bug reports are sent directly to your email address.

You can customize how the bug reporter is invoked. Rather than shake, we recommend configuring the bug reporter to be shown when a user takes a screenshot:

// Swift
Buglife.shared().invocationOptions = .screenshot
// Objective-C
[Buglife sharedBuglife].invocationOptions = LIFEInvocationOptionsScreenshot;

To learn more about customizing Buglife, refer to the documentation.

Requirements

  • Xcode 8 or later
  • iOS 9 or later

Contributing

We don't have any contributing guidelines at the moment, but feel free to submit pull requests & file issues within GitHub!