# iOS Error and macOS Performance Monitoring

> Discover how to see macOS performance errors & identify where you can improve your workflow with Sentry. Get started with Sentry for macOS here.

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

---

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

## Install

### Swift

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

```ruby
platform :macos, '10.10'
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:

```swift
import Sentry

SentrySDK.start { options in
    options.dsn = "https://<key>@sentry.io/<project>"
    options.debug = true
    options.tracesSampleRate = 1.0
}
```

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

### Objective-C

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

```ruby
platform :macos, '10.10'
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:

```objectivec
@import Sentry;

- (void)applicationDidFinishLaunching:(NSNotification *)notification {

    [SentrySDK startWithConfigureOptions:^(SentryOptions *options) {
        options.dsn = @"https://<key>@sentry.io/<project>";
        options.debug = @YES;
        options.tracesSampleRate = @1.0;
    }];
}
```

See the [Objective-C docs](https://docs.sentry.io/platforms/apple/guides/macos/) 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.

### macOS Performance Monitoring

Quickly identify performance issues and view the full end-to-end distributed trace to see the exact poor-performing API call and what caused it. Measure everything from warm starts to froze frames so you can improve macOS performance with max efficiency, not max effort.

### macOS 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 macOS application performance on your user's device.

### Get macOS Crash Reporting With Complete Stack Traces

Reveal hidden context in Apple's incomplete crash data by automatically symbolicating unreadable symbols. Handle Cocoa macOS crashes with complete context using the Swift/Objective-C SDK.

### Fill In The Blanks About macOS Crashes

See what the app was doing when the macOS 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 macOS 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 macOS crash and instantly send deploy emails.

---

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