Default Integrations
Learn more about the SentryCrashIntegration, SentryAutoBreadcrumbTrackingIntegration, SentryAutoSessionTrackingIntegration, and SentryWatchdogTerminationTrackingIntegration, which are enabled by default.
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.
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.
Crash detection is not available for watchOS, and Mach exceptions are not reported on tvOS.
Signal and exception handlers can't be installed if a debugger is attached. To test crashes locally, ensure that you've unchecked the "Debug executable" option in the Xcode scheme's Run action for your app.
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.
This integration registers for lifecycle notifications and automatically starts and ends sessions required for Release health.
This integration tracks watchdog terminations 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.
This example removes the default-enabled integration for adding breadcrumbs to the event:
import Sentry
SentrySDK.start { options in
options.integrations = Sentry.Options.defaultIntegrations().filter { name in
name != "SentryAutoBreadcrumbTrackingIntegration"
}
}
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) or suggesting an update ("yeah, this would be better").