# iOS Error Tracking, Crash Reporting & Performance Monitoring

> iOS error tracking, crash reporting, and application performance monitoring with Sentry. Resolve iOS crashes and bugs fast, with coverage for React Native and Flutter.

**URL:** https://sentry.io/for/ios/

---

Actionable insight to resolve iOS bugs, crashes, and slowdowns. iOS application performance monitoring and crash reporting that gives you a full view of every release, so you can mark iOS errors as resolved and prioritize live issues. Building cross-platform? The same coverage extends to React Native and Flutter.

**Documentation:** [https://docs.sentry.io/platforms/apple/guides/ios/](https://docs.sentry.io/platforms/apple/guides/ios/)

## Install

### iOS

Just run this command to sign up for and install Sentry.

```bash
brew install getsentry/tools/sentry-wizard && sentry-wizard -i ios
```

Setup Sentry Tracing:

```swift
import Sentry

SentrySDK.start { options in
    options.dsn = "https://examplePublicKey@o0.ingest.sentry.io/0"
    options.tracesSampleRate = 1.0
}
```

See the [iOS docs](https://docs.sentry.io/platforms/apple/guides/ios/) for full setup options.

### Swift

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

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

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

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

```swift
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 Tracing
        options.tracesSampleRate = 1.0
    }

    return true
}
```

See the [Swift docs](https://docs.sentry.io/platforms/apple/) for full setup options.

### React Native

Install Sentry with one line of code:

```bash
npx @sentry/wizard@latest -i reactNative
```

See the [React Native docs](https://docs.sentry.io/platforms/react-native/) for full setup options.

### Flutter

```bash
brew install getsentry/tools/sentry-wizard && sentry-wizard -i flutter
```

See the [Flutter docs](https://docs.sentry.io/platforms/dart/guides/flutter/) for full setup options.

## Features

### Session Replay

Get to the root cause of an issue faster by watching replays of real user sessions with best-in-class privacy controls. Understand when, where, and how an error is impacting your app without having to repro it yourself, talk to a customer, or expose sensitive data.

### iOS Performance Monitoring

Quickly identify performance issues and view the full end-to-end [distributed trace](/product/tracing/) to see the exact poor-performing API call and what caused it. Measure everything from warm starts to frozen frames so you can improve iOS performance with max efficiency, not max effort. The same approach powers React Native monitoring for teams shipping cross-platform.

### iOS Continuous Profiling

Get code-level insight into how your application performs in production environments on real user devices. Find the root cause of slowdowns and issues consuming the most resources, like CPU or memory, and affecting iOS application performance on your user's mobile device.

### Get iOS Crash Reporting With Complete Stack Traces

Reveal hidden context in Apple's incomplete crash data by automatically symbolicating unreadable symbols. Handle Cocoa iOS crashes with complete context using the Swift/Objective-C SDK. Shipping with Flutter too? Sentry delivers the same Flutter crash reporting from a single dashboard.

### 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 Cocoa 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.

## FAQ

**What is the difference between Sentry and traditional logging?**

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](/vs/logging/) and on our [blog](https://blog.sentry.io/lets-get-ready-to-monitor/).

**What  languages does Sentry support?**

Sentry supports every major  language, framework, and library. You can browse each of them [here](/platforms/).

**How much does Sentry cost?**

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](/pricing/).

**How does Sentry impact the performance of my app?**

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.

---

*Source: [sentry.io/for/ios/](https://sentry.io/for/ios/)*
