Features
Learn about Sentry's Apple SDK features for watchOS.
Sentry's Apple SDK for watchOS enables basic reporting of errors and exceptions with limited symbolication support and no crash or app hang detection. All features listed below are enabled by default unless otherwise noted.
watchOS has significant limitations compared to other Apple platforms. Crash detection, app hang detection, and many performance monitoring features are not available due to platform restrictions.
For a complete list of all available features, see the main Features page. This page highlights watchOS-specific features and limitations.
watchOS has significant limitations due to platform restrictions:
- Crash detection not available (no crash handling)
- App hang detection not available
- Watchdog terminations not available
- Session Replay not available
- User Feedback UI not available
- Screenshot capture not available
- View Hierarchy capture not available
- Profiling not available
- MetricKit integration not available
- Logs capturing not available
- Most performance monitoring features not available
- Limited symbolication support
Despite the limitations, watchOS still supports several useful features:
- Manual error reporting using SentrySDK.capture(error:) or
SentrySDK.capture(message:) - Handled exceptions can be captured and reported
- Events enriched with device data and environment information
- Attachments enrich your event by storing additional files, such as config or log files
- Source Context shows snippets of code around the location of stack frames (when available)
- Session tracking for release health metrics (limited functionality)
- Release health tracking (limited by lack of crash detection)
- Offline caching when a device is unable to connect; we send a report once we receive another event
- Event persistence: events persist to disk and are sent when connectivity is available
- Swift Async/Await support for automatically stitching together stack traces of Swift concurrency code (when applicable)
- User Feedback via programmatic API (no UI available)
Given the limitations on watchOS:
- Use Manual Error Reporting - Since crash detection is not available, use SentrySDK.capture(error:) to manually report important errors
- Add Context - Use scopes to add context and tags to help debug issues
- Test Thoroughly - Since symbolication is limited, ensure your error messages and context are descriptive
- Consider Companion App - For critical error tracking, consider implementing error reporting in your companion iOS app
For configuration options and detailed documentation, see the Configuration section.
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) or suggesting an update ("yeah, this would be better").