Default Integrations

All of Sentry’s SDKs provide integrations, which extend functionality of the SDK.

System integrations are enabled by default to integrate into the standard library or the interpreter itself. They are documented so you can be both aware of what they do and disable them if they cause issues.

SentryCrashIntegration

This integration is the core part of the SDK. It hooks into all signal and exception handlers to capture uncaught errors or crashes. This integration is also responsible for adding most of the device information to events. If it is disabled, you will not receive crash reports, nor will events contain much device data.

SentryAutoBreadcrumbTrackingIntegration

This integration will swizzle some methods to create breadcrumbs. For example, for UIApplicationDidReceiveMemoryWarningNotification, sendAction:to:from:forEvent: (UI interactions) or viewDidAppear: those breadcrumbs will be attached to your events.

SentryAutoSessionTrackingIntegration

This integration registers for lifecycle notifications and automatically starts and ends sessions required for Release Health.

SentryOutOfMemoryTrackingIntegration

This integration tracks out-of-memory crashes based on heuristics. This feature is available for iOS, tvOS, and Mac Catalyst and works only if the application was in the foreground. Check out the configuration information for more details.

Disable an Integration

This example removes the default-enabled integration for adding breadcrumbs to the event:

Copied
import Sentry

SentrySDK.start { options in
    options.integrations = Sentry.Options.defaultIntegrations().filter { name in
        name != "SentryAutoBreadcrumbTrackingIntegration"
    }
}