Experimental Features

Learn about the experimental features available for Sentry's Apple SDK.

Experimental features are features that are still being developed and tested. They may have bugs, incomplete functionality, or may change in future releases. Use them at your own risk and provide feedback to help us improve them.

For stable features, see the Features page.

Profiling features are only available on iOS and macOS.

Enable App Launch Profiling to get detailed profiles for your app launches.

Enable Continuous Profiling to get full coverage of your app's execution.

Enable the enablePersistingTracesWhenCrashing option to link ongoing transactions to a crash event when your app crashes.

Enable the enableUnhandledCPPExceptionsV2 option to capture fatal C++ exceptions using a more reliable mechanism that hooks into all __cxa_throw calls.

Copied
options.experimental.enableUnhandledCPPExceptionsV2 = true

This provides more comprehensive and consistent exception handling across your app's runtime, regardless of the number of C++ modules or how they're linked, and helps in obtaining accurate stack traces.

Note: The mechanism of hooking into __cxa_throw could cause issues with symbolication on iOS due to caching of symbol references.

Enable the enableSessionReplayInUnreliableEnvironment option to force enabling of session replay in unreliable environments.

Copied
options.experimental.enableSessionReplayInUnreliableEnvironment = true

Due to internal changes with the release of Liquid Glass on iOS 26.0, the masking of text and images cannot be reliably guaranteed. Therefore the SDK uses a defensive programming approach to disable the session replay integration by default, unless the environment is detected as reliable.

Indicators for reliable environments include:

  • Running on an older version of iOS that doesn't have Liquid Glass (iOS 18 or earlier)
  • UIDesignRequiresCompatibility is explicitly set to YES in Info.plist
  • The app was built with Xcode < 26.0 (DTXcode < 2600)

Important: This flag allows you to re-enable the session replay integration on iOS 26.0 and later, but please be aware that text and images may not be masked as expected.

Learn more in the Session Replay documentation.

Use Metrics to send counters, gauges, and distributions from your application to Sentry. Once in Sentry, these metrics can be viewed alongside related errors, traces, and logs, and searched using their individual attributes.

The metrics feature is enabled by default, but metrics are not collected automatically. You must manually call the SentrySDK.metrics API to record metrics (e.g., SentrySDK.metrics.count(key: "my_counter", value: 1)). To disable the feature entirely:

Copied
options.experimental.enableMetrics = false

Learn more in the Metrics documentation.

Let us know if you have feedback through GitHub issues. Your feedback helps us improve these experimental features and move them toward stable releases.

Was this helpful?
Help improve this content
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").