
Sentry Cocoa SDK
https://github.com/getsentry/sentry-cocoa- Category
- Developer Tools
- Rank
- No. 355Tools index
- Pricing
- Open Source
- Type
- TOOL
- Builder
- getsentry
- GitHub
- 1.1k stars
- Latest release
- 9.27.0
- Date
About
Official Sentry SDK for iOS, macOS, tvOS, watchOS, iPadOS, and visionOS apps.
What it does
Sentry Cocoa embeds a configurable Sentry client inside Apple applications. The client starts early in the application lifecycle, connects through a project DSN, and exposes Swift and Objective-C integration surfaces. The repository also includes privacy-focused view redaction logic for captured interface content.
Why it's ranked here
This is a strong choice for teams already using Sentry and shipping across Apple platforms. It supports source compilation and prebuilt binaries, provides Swift and Objective-C products, and includes build automation spanning phones, desktops, televisions, watches, spatial devices, and Mac Catalyst.
What's good
Installation supports an automated project-patching wizard, direct Swift Package Manager integration, and static or dynamic XCFrameworks. Package traits can remove UI framework linkage for command-line contexts. The redaction design favors preventing sensitive-content leaks, accepting missed clipping optimizations when opacity is uncertain.
Tradeoffs
CocoaPods support has ended, so existing users must migrate to Swift Package Manager or XCFrameworks. watchOS has limited symbolication, no crash handling, and no XCTest support. Correct initialization also requires starting the client early and supplying a project DSN.
How to use it well
Use it in Swift, Objective-C, or SwiftUI applications that send application telemetry to an existing Sentry project. Prefer the wizard for quick setup, source packages for integrated builds, or XCFrameworks for prebuilt binaries. It is a client SDK, not the monitoring service itself, and watchOS crash reporting remains outside its coverage.
Technical notes+
Package.swift defines binary and compile-from-source library products, including SentrySPM, SentryObjC, SentrySwiftUI, SentryDistribution, static and dynamic variants, and products without UIKit or AppKit. Package@swift-6.1.swift and Package@swift-6.2.swift add NoUIFramework and V10 traits, conditionally integrating KSCrash. Makefile automates builds for iOS, macOS, Catalyst, tvOS, visionOS, and watchOS, plus XCFramework creation and validation. docs/opaque-masking.md documents conservative replay redaction: opacity, view and layer backgrounds, and opacity hints must all indicate full coverage unless SentryRedactViewHelper.shouldClipOut(view) overrides the decision. Samples/macOS-CLI-Xcode/Sources/main.swift demonstrates SentrySDK.start with the NoUIFramework product.
Observed
- Interface
- Embeddable client library with Swift and Objective-C integration surfaces
- Packaging
- Swift Package Manager source builds and prebuilt static or dynamic XCFramework products
- Setup
- An optional Homebrew-installed wizard patches and configures application projects
- Platform support
- iOS, iPadOS, macOS, Mac Catalyst, tvOS, watchOS, and visionOS
- Language structure
- Swift targets are combined with Objective-C, C, and C++ components
- Package variants
- SwiftUI, Objective-C, distribution, and UI-framework-free library products are defined
- Legacy packaging
- CocoaPods support is discontinued
- watchOS limitation
- Limited symbolication support, no crash handling, and no XCTest support
Read from README.md, Gemfile, Makefile, docs/opaque-masking.md, Package.swift, Package@swift-6.1.swift, Package@swift-6.2.swift, SwiftConversion/generate_graphviz.rb, SwiftConversion/objc_conversion_analyzer.rb, Utils/VersionBump/main.swift, test-server/Sources/Run/main.swift, Samples/iOS15-SwiftUI/Sources/App.swift, Samples/macOS-CLI-Xcode/Sources/main.swift, Samples/SDK-Size/App/Sources/App.swift, Samples/DistributionSample/App/Sources/App.swift.
What it can do
Capture application crashes and exceptions
Runtime errors and crashes in iOS/macOS/tvOS/watchOS/iPadOS/visionOS apps → Structured error reports with stack traces and context
Monitor application performance metrics
App execution data and performance events → Performance analytics and bottleneck identification
Track custom events and user actions
Custom event data and user interaction events → Event logs and user behavior analytics
Collect and attach user context to error reports
User information, device data, and app state → Enriched error reports with contextual metadata
Send error and performance data to Sentry platform
Local crash reports and performance data → Transmitted data to Sentry dashboard for analysis
Filter and sample error reports before transmission
Raw error data and configured filter rules → Filtered and sampled error reports
Tags
Tech Stack
Media

Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.