_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 latest development version of v9 release.
> For the latest 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
Sentry Wizard (Recommended)
The quickest way to get started:
brew install getsentry/tools/sentry-wizard && sentry-wizard -i ios
This patches your project and configures the SDK automatically.
Swift Package Manager (Compile from Source)
Use this repository to build the SDK from source:
In Xcode: File > Add Packages, then paste:
https://github.com/getsentry/sentry-cocoa.git
In Package.swift:
dependencies: [
.package(url: "https://github.com/getsentry/sentry-cocoa", from: "9.24.0"),
],
targets: [
.target(name: "YourApp", dependencies: [
.product(name: "SentrySPM", package: "sentry-cocoa"),
]),
]
Pre-built XCFrameworks
For pre-built static binaries via SPM, use the sentry-apple-binaries repository.
You can also download XCFrameworks directly from GitHub Releases.
For all installation options (Objective-C, dynamic linking, manual install), see the full installation docs.
[!NOTE]
CocoaPods support has been dropped. The last version available via CocoaPods is 9.19.1. Please migrate to SPM or XCFrameworks.
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.
Logging Integrations
Forward logs from popular logging libraries to Sentry Logs. Each integration is a separate Swift package, so you only pull in the dependencies you use:
- swift-log: sentry-apple-swift-log
- CocoaLumberjack: sentry-apple-cocoalumberjack
- Pulse: sentry-apple-pulse
- SwiftyBeaver: sentry-apple-swiftybeaver
Resources
- Check out product updates, deep dives, and tips on the Sentry blog and our changelog