Skip to main content

Configuration

Launching with options

warning

Since v6.0.0 the Bugsee iOS SDK supports the simulator; crash capture is excluded. For full functionality, launch your app with Bugsee on a real device.

Bugsee behavior is very customizable. If the default configuration does not satisfy your needs, you can launch the SDK with additional parameters passed as a dictionary.

- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// ...other initialization code

NSDictionary * options = @{
BugseeMaxRecordingTimeKey : @60,
BugseeShakeToReportKey : BugseeFalse,
BugseeScreenshotToReportKey : BugseeTrue,
BugseeCrashReportKey : BugseeTrue
};

[Bugsee launchWithToken:@"<your_app_token>" andOptions:options];

return YES;
}

Stopping

Stopping will fully stop the SDK operation and clean up all the used resources. The operation may take a while to complete.

  [Bugsee stop:^(void) {
// operations to perform upon completion
}];

Relaunching

Relaunching will fully stop the SDK operation and clean up all the used resources. Upon completion it will start recording again with new options.

[Bugsee relaunchWithDictionaryOptions:options];

Available Options

KeyDefault valueNotes
BugseeMaxRecordingTimeKey@60Maximum recording duration
BugseeShakeToReportKeyNOShake gesture to trigger report.
Be aware, that enabling this option may cause a startup delay/freeze on iOS 12.x devices due to a bug in the CoreMotion system framework (read more).
BugseeScreenshotToReportKeyYESScreenshot key to trigger report
BugseeCrashReportKey*YESCatch and report application crashes
BugseeKillDetectionKeyNODetect abnormal termination (read more)
BugseeDetectAppExitKeyNODetect any kind of process termination (e.g. when user swipes off the application from multitasking UI, or when system unloads the app due memory pressure). Special error report is generated for this scenario with "BugseeAppExit" domain
BugseeVideoEnabledKeyYESEnable video recording
BugseeScreenshotEnabledKeyYESAttach screenshot to a report. Note, that if BugseeVideoEnabledKey option is NO, default value of this option is NO too.
BugseeViewHierarchyEnabledKeyYESCapture view hierarchy for Bug and Error reports
BugseeCaptureLogsKeyYESAutomatically capture all console logs
BugseeCaptureOSLogsKeyNOAutomatically capture OSLog and Logger print statements.
IMPORTANT: Experimental feature
BugseeMonitorNetworkKeyYESCapture network traffic
BugseeMaxNetworkBodySizeKey@20480The maximal size of network request/response body (in bytes).
BugseeMonitorBluetoothStatusKeyNOMonitor bluetooth state.
IMPORTANT: You must add "Privacy - Bluetooth Always Usage Description" key into your Info.plist with a string value explaining to the user why you need bluetooth permission
BugseeMonitorDiskSpaceKeyNOMonitor available disk space and include it in reports as a system trace.
BugseeReportPrioritySelectorKeyNOAllow user to modify priority when reporting manually
BugseeReportLabelsEnabledKeyNODisplay labels field in the built-in bug reporting UI
BugseeReportLabelsRequiredKeyNOControls whether "Labels" field in bug reporting UI is mandatory or not.
BugseeDefaultCrashPriorityKeyBugseeSeverityBlockerDefault priority for crashes
BugseeDefaultBugPriorityKeyBugseeSeverityHighDefault priority for bugs
BugseeWifiOnlyUploadKeyNOUpload reports only when a device is connected to a Wi-Fi network.
BugseeMaxDataSizeKey@50Bugsee will avoid using more disk space than specified (in MB). If total Bugsee data size exceeds specified value, oldest recordings (even not sent) will be removed. Value should not be smaller than 10.
BugseeStyleKeyDefaultEnumeration of BugseeStyleSystemDefault, BugseeStyleDefault, BugseeStyleDark and BugseeStyleBasedOnStatusBarStyle
BugseeFrameRateKeyBugseeFrameRateHighSpecifies how often frames are attempted to be captured
BugseeVideoScaleKey@1Additional down scaling applied to recorded video, (e.x @0.5 would reduce both width and height by half)
BugseeCaptureDeviceAndNetworkNamesKey**NOCapture device name, wifi SSID and mobile carrier name.
BugseeReportSummaryRequiredKeyNOControls whether "Summary" field in bug reporting UI is mandatory or not.
BugseeReportDescriptionRequiredKeyNOControls whether "Description" field in bug reporting UI is mandatory or not.
BugseeReportEmailRequiredKeyNOControls whether "Email" field in bug reporting UI is mandatory or not.
BugseeAppLaunchCrashDetectionKeyNOControls whether early crashes are intercepted and uploaded. Early crashes are those happening within first 5 seconds after app launch. And they are uploaded synchronously (with blocking main thread) to guarantee upload
BugseeCaptureAVPlayerKeyNOWhen enabled, video playing via AVPlayerLayer and via AVPlayerViewController will be captured on video

Built-in reporting UI adjustments

Alongside stylistic changes, you can also change the placeholders' texts shown in input controls within the built-in bug reporting UI

  [[Bugsee appearance] setReportSummaryPlaceholder:@"What's happened? Only briefly"];
[[Bugsee appearance] setReportDescriptionPlaceholder:@"Here, describe all the pains and frustrations you had. In details"];
[[Bugsee appearance] setReportEmailPlaceholder:@"Identify yourself here"];
[[Bugsee appearance] setReportLabelsPlaceholder:@"Labels.For.Developers. [Comma separated]"];

 


  • iOS allows only one crash detector to be active at a time. If you insist on using an alternative solution for handling crashes, you might want to use this option and disable Bugsee from taking over.

** To obtain WiFi information, the requesting app must meet one of the following requirements (for full details please refer to Apple documentation):

  • The app uses Core Location, and has the user’s authorization to use location information.
  • The app uses the NEHotspotConfiguration API to configure the current Wi-Fi network.
  • The app has active VPN configurations installed.
  • The app has an active NEDNSSettingsManager configuration installed.

Note that requesting location access requires a change to your app's Info.plist file. Two keys must be added with appropriate descriptions:

  • Privacy - Location Always and When In Use Usage Description
  • Privacy - Location When In Use Usage Description

Note: Your app must enable the Access WiFi Information capability in Xcode.