Support ingesting Apple JSON .ips crash report format
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 44.8k
- Forks
- 4.9k
- Avg merge
- 21h 23m
- Merged PRs (30d)
- 607
Description
Support ingesting Apple's JSON .ips crash report format as an alternative input to the Sentry Apple SDK. This would allow teams to bring externally-collected crash reports into Sentry without requiring SDK instrumentation at crash time.
Current behavior
The Sentry Apple SDK captures crashes at runtime and encodes them in Sentry's own envelope format. There is no way to ingest pre-existing .ips crash reports generated by the OS.
Gap
Apple has documented a stable JSON crash report format (.ips) since macOS 12 / iOS 15 (Apple developer docs). Crash reports in this format are produced by:
- macOS / iOS crash reporter (written to disk at crash time)
- Xcode Organizer
- TestFlight
- App Store Connect
Teams that collect these reports outside of the Sentry SDK pipeline have no way to ingest them into Sentry today. This creates a gap for scenarios such as:
- Crashes that occur before the SDK initializes
- Reports collected from devices that don't run Sentry-instrumented builds
- Post-hoc analysis of OS-generated crash logs
Options
- A
sentry-clicommand or API endpoint that accepts.ipsfiles, parses them, and submits corresponding Sentry events, related issue: https://github.com/getsentry/sentry-cli/issues/2663 - Backend-only ingestion endpoint that accepts raw
.ipsJSON payloads directly
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by comparing the two proposed entry points: a sentry-cli command or API endpoint accepting raw Apple .ips JSON. Determine which ingestion path is intended, then define parsing and event-submission behavior; the work is done when externally collected reports can be ingested into Sentry without SDK instrumentation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100