Official Sentry SDK for iOS / iPadOS / tvOS / macOS / watchOS (1) / visionOS
June 18, 2026 ยท View on GitHub
Bad software is everywhere, and we're tired of it. Sentry is on a mission to help developers write better software faster, so we can get back to enjoying technology. If you want to join us Check out our open positions
Note
You are currently viewing the main branch which contains the upcoming v9 release with breaking changes.
For the stable v8 release, please switch to the v8.x branch and refer to the v8 CHANGELOG.
Official Sentry SDK for iOS / iPadOS / tvOS / macOS / watchOS (1) / visionOS
Installation
SPM is the recommended way to include Sentry into your project. We also provide pre-built XCFrameworks on our GitHub Releases page.
To see all available installation options and how to integrate Sentry into your project, please refer to our documentation.
Warning
CocoaPods support has been deprecated and will no longer receive updates after June 2026. Please migrate to SPM or XCFrameworks. See CocoaPods read-only change.
Warning
The minimum macOS deployment target will be raised to macOS 12 (Monterey) with the upcoming release that adopts Xcode 27. Xcode 27 no longer supports deployment targets below macOS 12. If your app must support macOS 11 or earlier, please stay on the last SDK version released before this change. See #8113 for full details.
Initialization
Remember to call this as early in your application life cycle as possible
Ideally in applicationDidFinishLaunching in AppDelegate
import Sentry
// ....
SentrySDK.start { options in
options.dsn = "___PUBLIC_DSN___"
options.debug = true // Helpful to see what's going on
}
@import Sentry;
// ....
[SentrySDK startWithConfigureOptions:^(SentryOptions *options) {
options.dsn = @"___PUBLIC_DSN___";
options.debug = @YES; // Helpful to see what's going on
}];
For more information checkout the docs.
(1)limited symbolication support and no crash handling.