Overview
The Bugsee iOS SDK captures what happened before a bug: a video of the screen, network traffic, console logs and the user's steps. It attaches them to crash, error and manual reports that you replay in the Bugsee dashboard. It runs in the background of your app, needs one line of code to start, and uploads reports on its own.
This section documents 7.x, the current release line. Upgrading from 6.x? See Migrating from 6.x to 7.x. The 6.x documentation is under Previous versions.
What Bugsee records
Every report carries a synchronized timeline of the session that led up to it:
- Video — a rolling recording of the screen, with sensitive views, rectangles and WebView content hidden.
- Network —
URLSessionrequests and responses, WebSocket traffic and in-WebView traffic; see Network events, with redaction and filtering. - Console logs —
print,NSLog, CocoaLumberjack and your own lines; see Console logs. - Breadcrumbs (opt-in) — navigation, taps and system events leading up to the issue; see Breadcrumbs.
- Your own data — events and traces, a user identifier and attributes, and attachments added in the report handler.
- Performance (APM) — transactions and spans for app start, screens, network and file I/O.
What Bugsee detects
The SDK turns problems into reports automatically:
- Crashes — signals and uncaught exceptions; see Crashes. On iOS 27 and later, the optional Crash Report Extension adds the stacks of terminations no in-process handler can see, such as the launch watchdog and memory-limit kills.
- App exits, and opt-in hangs, HTTP errors and more — see Issue detection.
- Manual reports — let users shake the device or take a screenshot to report, or open the report dialog from code; see Bug reporting.
Requirements
| Platform | Minimum version |
|---|---|
| iOS | 15.0 |
| tvOS | 15.0 |
| visionOS | 1.0 |
Simulator builds of the SDK have no crash reporter, so crashes are not captured there. Run on a real device to test crash and error reporting.
How it ships
7.x is distributed through Swift Package Manager. CocoaPods and Carthage are no longer supported.
| Product | Package | What it is |
|---|---|---|
Bugsee | https://github.com/bugsee/spm | The core SDK. Every app needs it. |
BugseeSwiftUI | https://github.com/bugsee/spm | SwiftUI modifiers that hide views from the video. Links Bugsee too. See SwiftUI. |
BugseeCrashExtension | https://github.com/bugsee/spm | For the app's Crash Reporter Extension target only (iOS 27 and later). See Crash Report Extension. |
BugseeFeedback | https://github.com/bugsee/feedback-spm | Optional in-app feedback chat. Add it at the same exact version as Bugsee. See Feedback. |
For builds that cannot resolve a Swift package, such as Unity projects or frameworks embedded by hand, the same Bugsee.xcframework is available as a direct download. See Installation.
How it works
- One call to start. Call
Bugsee.launch(token:)from your app delegate or SwiftUIAppinitializer. Capture starts off the main thread; see Lifecycle & status. - Options at launch. Every behavior is a launch option, passed as a
BugseeOptionsobject or as a dictionary ofBugseeOption*keys; see Configuration. - Privacy on the device. Hide views and screen areas from the video, and filter or redact network, log and breadcrumb data before it is recorded; see Privacy.
- Automatic upload. Reports are stored on the device and uploaded in the background. A crash is reported on the app's next launch.
Where to go next
- Installation — add the package and launch the SDK.
- SwiftUI — launch from a SwiftUI
Appand protect SwiftUI views. - Configuration — every launch option, with its default.
- Lifecycle & status — stop, relaunch, SDK status and lifecycle events.
- Manual reporting — bug reports and crash & error reports from code.
- Report handler — change every report before it is sent.
- Data capture — network, console logs, breadcrumbs, events & traces, user & session data.
- Privacy — video, console logs, network, breadcrumbs, report fields, data cleanup.
- Feedback, Notification relay, Appearance.
- Issue detection — crashes, Crash Report Extension, hangs, exits, main-thread misuse, HTTP errors, anomaly, frustration.
- Performance monitoring, Crash symbolication, Builds.
- Release notes, FAQ, Migrating from 6.x.