Objective-C Error Monitoring

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

Try Sentry For FreeRequest a Demo
Sentry character illustration

Mobile March Madness

A month of mobile product updates, help sessions, and tips to improve your app experience.

Live Mobile Monitoring Workshop

March 18, 2021 @ 10:00 AM PST

Join us for a conversation on performance monitoring, when to use attachments, and a sneak peek on reprocessing incomplete events.

Register now

Want free Sentry? Tell a friend about Sentry for Mobile.

Give 3 months Sentry and get 3 months free. It might be awkward, but their users will thank you.

Refer a Friend

Crash-free Sessions, Carefree Users

Read about how CTO and Co-Founder of Popsa, Tom Cohen, uses Sentry to solve what matters most to their customers.

Read more

Pro Tips on Release Management

Watch a quick tour from Sentry Solutions Engineers on how to get in front of bad releases.

Watch now

How to use Sentry Attachments with Mobile Applications

Read about how to avoid asking your users to conduct a series of acrobatic moves to send you their logs.

Read more

Sentry for Mobile “To-go”

Download this handy one-pager to share with your team or refer back to it for when you don’t have internet.

Download

Getting Started is Simple

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

platform :ios, '9.0'
use_frameworks! # This is important

target 'YourApp' do
  pod 'Sentry', :git => 'https://github.com/getsentry/sentry-cocoa.git', :tag => '6.1.4'
end

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

@import Sentry;

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    [SentrySDK startWithConfigureOptions:^(SentryOptions *options) {
        options.dsn = @"https://<key>@sentry.io/<project>";
        options.debug = @YES; // Enabled debug when first installing is always helpful
    }];

    return YES;
}

That’s it. There’s no step three. Don’t believe us? Check out our Documentation.

See all platforms

Get iOS Crash Reporting With Complete Stack Traces

Reveal hidden context in Apple’s incomplete crash data by automatically symbolicating unreadable symbols. Handle Objective-C 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 Objective-C 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.

“Sentry in particular is really valuable at tracing exceptions of errors and providing automatic feedback so we can see things clearly and gain a better understanding of what’s going wrong.”

Zhaobang Liu
DevOps Engineer, DoorDash

See The Full Picture Of Any Objective-C 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?

FAQs

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

Read

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

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