NEW State of Mobile App Quality: What We Learned from Analyzing 100 Million Bugs 🔍 See the Report

A totally customizable SDK that's built by developers for developers and only takes 60 seconds to integrate.

Simple Steps to Get Started

Language:
  1. Add the following line to your "Podfile":

    pod 'Instabug'
  2. Run pod install in your Xcode project directory. CocoaPods should download and install the SDK and all the required dependencies, and create a new Xcode workspace. Open up this workspace in Xcode.

  3. Import the framework in the appDelegate

  4. Call the SDK by including this line in "application didFinishLaunchingWithOptions"

    [Instabug startWithToken:@"YOUR-TOKEN-HERE" invocationEvents: IBGInvocationEventShake | IBGInvocationEventScreenshot];
  5. If your app doesn’t already access the microphone or photo library, you’ll need to add the following 2 keys to your app’s info.plist file:

    • NSMicrophoneUsageDescription
    • NSPhotoLibraryUsageDescription

You can also check out our API Reference for more detailed information about our SDK.

Gradle
  1. The SDK is available through Maven Central. In your build.gradle file, add the following dependency, then sync your gradle files.

    compile 'com.instabug.library:instabug:8.0.3'
  2. Initialize Instabug in your application’s onCreate() method:

    new Instabug.Builder(this, "YOUR-TOKEN-HERE")
            .setInvocationEvents(InstabugInvocationEvent.SHAKE, InstabugInvocationEvent.SCREENSHOT_GESTURE)
            .build();

You can also check out our API Reference for more detailed information about our SDK.

  1. Prefer bower? Install the sdk using

    bower install instabug-sdk --save
  2. Initialize Instabug SDK <script> ibgSdk.init({ token: 'your_app_token_here' }); </script>

You can also check out our API Reference for more detailed information about our SDK.

Cross platform frameworks supported as well

Frequently Asked Questions

Do I need to include all these frameworks?

Yes, the frameworks are required dependencies for our SDK to work.

Does Instabug support live apps?

Yes, you can safely use the SDK in your app, and submit it to the store.

Is the shake gesture customizable?

The SDK offers other gestures out of the box to choose from; Shake, Screenshot (Lock+Home), Right-edge swipe and a Floating button. You can also code your own gesture or have a button in your app that invokes our SDK. Check our documentation page for more details.

What kind of details does the SDK track?

The SDK grabs a lot of useful details: Device model & iOS version, memory & storage details, carrier & WiFi, battery details, iPhone 6 screen zoom mode, app/build version, user location, and the app's logs. And most importantly, the detailed actions that the user did until the time of reporting the bug.

How will the SDK affect my app size?

The additional size that gets added to your final app is ~0.5MB. However when downloading the SDK, it’s much bigger, because it’s a static library, hence it gets linked at compile time while building the app.

Can I disable Instabug’s crash reporting?

While you can keep using more than one crash reporting, you can disable Instabug’s crash reporting by calling this method:
[Instabug setCrashReportingEnabled:NO];

How long does it take for the crashes to show up on the dashboard?

Crash reporting is disabled while debugging. Make sure you are not running your application via Xcode while reporting crashes. Also note that crashes are sent to our servers on the next app launch, and not on the crashing session

How can I customize the time at which the intro message that guides users show up?

You can stop it using [Instabug setIntroMessageEnabled:] to disable it from showing automatically and [Instabug showIntroMessage] to show it later whenever you want.

Why does the Instabug upload dSYM script emit errors when debugging on a real device?

This happens because the upload dSYM script is attempting to upload your app symbols, but they are not generated by Xcode when debugging. To fix this, go to your project build settings and change Debug Information Format to DWARD with dSYM File in the Debug configuration.

I've uploaded DSYM but crashes are not symbolicated.

If you are using bitcode. Make sure you are uploading DSYM file extracted from Xcode organizer.

How do I get Console Log on iOS 10?

Access to console log is not working properly in iOS 10. This is a known issue that has been reported to Apple. Logs should start appearing in the dashboard again once this issue has been fixed by Apple. In the meantime, you can use IBGLog method. Logs from IBGLog will appear under *Instabug Log* on an issue’s page on the dashboard If you’re using any logging tool, such as CocoaLumberjack, you can attach a log file to reports via + [Instabug setFileAttachment:]. Those logs will appear under *Issue Attachments* on an issue’s page on the dashboard.

Why do I need to add these keys to the Info.plist?

Instabug needs access to the microphone and photo library. Starting from iOS 10, apps that don’t provide a usage description for those 2 permissions would be rejected when submitted to the App Store. The permission alert for accessing the microphone/photo library will NOT appear unless users attempt to attach a voice note/photo while using Instabug.

I don't use Microphone or PhotoLibrary permission in my app. What should I use for these keys?

We recommend using a usage description like:

  • "<app name> needs access to the microphone to be able to attach voice notes."
  • "<app name> needs access to your photo library for you to be able to attach images."

Got more questions? Join our Community on Stack OverFlow or Email us - we’d love to chat!

The Simplest In-App Feedback and Bug Reporting for Mobile Apps!

Get started for free in less than a minute