Swift Error & Performance Monitoring

Sentry automatically captures crashes recorded on macOS, iOS, and tvOS. See Swift error details like function, filename, and line number without ever digging through iOS crash logs.

Getting Started is Simple

To integrate Sentry into your Xcode project, specify it in your Podfile, then run pod install:

Click to Copy
platform :ios, '9.0' use_frameworks! # This is important target 'YourApp' do pod 'Sentry', :git => 'https://github.com/getsentry/sentry-cocoa.git', :tag => '8.26.0' end

Initialize the SDK as soon as possible in your application lifecycle, such as in your AppDelegate application:didFinishLaunchingWithOptions method:

Click to Copy
import Sentry // Make sure you import Sentry func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { SentrySDK.start { options in options.dsn = "https://<key>@sentry.io/<project>" options.debug = true // Enabled debug when first installing is always helpful // Example uniform sample rate: capture 100% of transactions for performance monitoring options.tracesSampleRate = 1.0 } return true }

Check our documentation for the latest instructions.

See all platforms

Swift Performance Monitoring

Within minutes after installing Sentry, software teams are able to trace Swift performance issues back to a poor performing API call as well as surface all related code errors. Engineering Managers and Developers now have a single tool to optimize the performance of their code and deliver fast customer experiences with Performance Monitoring.

Get iOS Crash Reporting With Complete Stack Traces

Reveal hidden context in Apple’s incomplete crash data by automatically symbolicating unreadable symbols. Handle Swift iOS crashes with complete context using the React Native SDK while the Objective-C SDK runs in the background.

Fill In The Blanks About iOS Crashes

See what the app was doing when the iOS crash occurred: every user action, controller changes, and custom breadcrumbs. Record events when devices are offline or in airplane mode, then send crash reports as soons as connection is regained.

Resolve iOS Crashes With Better Data

Improve Swift error monitoring workflow with a full view of releases so you can mark errors as resolved and prioritize live issues. Learn in which version bug first appeared, merge duplicates, and know if things regress in a future release. Add commit data to automatically suggest an owner of each iOS crash and instantly send deploy emails.

“Being able to use Sentry to monitor the performance as well as our mobile applications is important. Using one solution to monitor the entire application stack gives our engineers the visibility they need to deliver a first-rate experience for our customers.”

Karan Gupta
CTO, Shift

See The Full Picture Of Any Swift Exception

See what the app was doing when the iOS crash occurred

Find answers to the key questions and insights need to resolve the issue

How actionable is this crash? What was the device? Has this same crash occurred before?


Traditional logging provides you with a trail of events. Some of those events are errors, but many times they’re simply informational. Sentry is fundamentally different because we focus on exceptions, or in other words, we capture application crashes. We discuss in more detail here and on our blog.

Sentry supports every major language, framework, and library. You can browse each of them here.

You can get started for free. Pricing depends on the number of monthly events, transactions, and attachments that you send Sentry. For more details, visit our pricing page.

Sentry doesn’t impact a web site’s performance.

If you look at the configuration options for when you initialize Sentry in your code, you’ll see there’s nothing regarding minimizing its impact on your app’s performance. This is because our team of SDK engineers already developed Sentry with this in mind.

Sentry is a listener/handler for errors that asynchronously sends out the error/event to Sentry.io. This is non-blocking. The error/event only goes out if this is an error.

Global handlers have almost no impact as well, as they are native APIs provided by the browsers.

Supporting Resources

Continuous Improvement in Native

A better experience for your users. An easier life for your developers.

© 2024 • Sentry is a registered Trademark
of Functional Software, Inc.