Instabug iOS SDK
Instabug is an in-app feedback and bug reporting tool for mobile apps. With just a simple shake, your users or beta testers can report bugs or send in-app feedback and the SDK will capture an environment snapshot of your user's device including all console logs, server-side network requests and bug reproduction steps compiling all these details in one organised dashboard to help you debug and fix bugs faster.
Instabug also provides you with a reliable crash reporter that automatically captures a detailed report of the running environment, the different threads’ states, the steps to reproduce the crash, and the network request logs. All the data is captured automatically with no need for breadcrumbs, and you can always reply back to your users and they will receive your messages within the app.
For more info, visit Instabug.com.
Installation
CocoaPods
To integrate Instabug into your Xcode project using CocoaPods, add it to your Podfile
:
pod 'Instabug'
Then, run the following command:
$ pod install
Carthage
To integrate Instabug into your Xcode project using Carthage, add it to your Cartfile
:
binary "https://raw.githubusercontent.com/Instabug/Instabug-iOS/master/Instabug.json"
Then, run the following command:
$ carthage update
Then drag Instabug.framework into your Xcode project.
Manually
-
Extract it then drag & drop Instabug.xcframework to your project's "Frameworks, Libraries, and Embedded Content" section under the "General" tab, and make sure that the "Copy items if needed" checkbox is checked
-
Create a new "Run Script Phase" in your project’s target "Build Phases" and add the following snippet
bash "${BUILT_PRODUCTS_DIR}/${FRAMEWORKS_FOLDER_PATH}/Instabug.framework/strip-frameworks.sh"
- In Xcode 11.x you might get the following error:
dyld: Library not loaded: @rpath/Instabug.framework/Instabug
Reason: image not found
If that's the case, do the following steps:
-
Under Build Phases, click on + icon to add new phase, and select New Copy Files Phase.
-
Drag the newly created Copy Files phase above Compile Sources phase
-
In the new Copy Files phase, select Frameworks from Destination dropdown.
-
Leave subpath blank. Let be default Copy only when installing.
-
Under the table, click '+' and then select
Instabug.xcframework
-
Make sure
Code Sign on Copy
is checked (ticked). -
Do a clean build.
Usage
-
Import Instabug framework header in your app delegate
// Swift import Instabug
// Objective-C #import <Instabug/Instabug.h>
-
Add the following to your app delegate's application:didFinishLaunchingWithOptions: method.
// Swift Instabug.start(withToken: <#app token#>, invocationEvents: .shake)
// Objective-C [Instabug startWithToken:<#app token#> invocationEvents:IBGInvocationEventShake];
Make sure to replace
app_token
with your application token. Find it here.
Notes
Instabug needs access to the microphone and photo library to be able to let users add audio and video attachments. 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.
For your app not to be rejected, you’ll need to add the following 2 keys to your app’s info.plist file with text explaining to the user why those permissions are needed:
NSMicrophoneUsageDescription
NSPhotoLibraryUsageDescription
If your app doesn’t already access the microphone or photo library, 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."
The permission alert for accessing the microphone/photo library will NOT appear unless users attempt to attach a voice note/photo while using Instabug.
More
You can also check out our API Reference for more detailed information about our SDK.