getsentry/sentry-cocoa

The official Sentry SDK for iOS, tvOS, macOS, watchOS.


Keywords
cocoa, crash, crash-reporting, crash-reports, error-handler, error-monitoring, hacktoberfest, ios, macos, objective-c, sentry, swift, tag-production, tvos, watchos, team-mobile
License
MIT

Documentation

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

Official Sentry SDK for iOS / tvOS / macOS / watchOS (1)

Build codebeat badge codecov.io CocoaPods compadible Carthage compatible SwiftPM compatible platforms Swift Package Index Discord Chat

This SDK is written in Objective-C but also provides a nice Swift interface.

Releases

This repo uses the following ways to release SDK updates:

  • Pre-release: We create pre-releases (alpha, beta, RC,…) for larger and potentially more impactful changes, such as new features or major versions.
  • Latest: We continuously release major/minor/hotfix versions from the main branch. These releases go through all our internal quality gates and are very safe to use and intended to be the default for most teams.
  • Stable: We promote releases from Latest when they have been used in the field for some time and in scale, considering time since release, adoption, and other quality and stability metrics. These releases will be indicated on the releases page with the Stable suffix.

Where is the master branch?

We renamed the default branch from master to main.

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.

Blog posts

Mobile Vitals - Four Metrics Every Mobile Developer Should Care About.

How to use Sentry Attachments with Mobile Applications.

Close the Loop with User Feedback.

A Sanity Listicle for Mobile Developers.

Resources

  • Documentation
  • Discussions
  • Discord Chat
  • Stack Overflow
  • Code of Conduct
  • Twitter Follow