<!--
{
  "availability" : [
    "iOS: 27.0 -",
    "iPadOS: 27.0 -",
    "macCatalyst: -",
    "macOS: 27.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "CrashReportExtension",
  "identifier" : "/documentation/CrashReportExtension",
  "metadataVersion" : "0.1.0",
  "role" : "Framework",
  "symbol" : {
    "kind" : "Framework",
    "modules" : [
      "CrashReportExtension"
    ],
    "preciseIdentifier" : "CrashReportExtension"
  },
  "title" : "CrashReportExtension"
}
-->

# CrashReportExtension

Inspect crashed processes to create crash reports.

## Overview

The Crash Report Extension framework allows you to perform analysis and produce a report when your app crashes. Your crash-handling code executes out-of-process, rather than from a signal handler or other in-process techniques.

You implement your handler by writing an app extension that conforms to the [`CrashReporterExtension`](/documentation/CrashReportExtension/CrashReporterExtension) protocol. The system calls your [`processCrashReport(process:)`](/documentation/CrashReportExtension/CrashReporterExtension/processCrashReport(process:)) method when the app crashes. Use the [`CrashedProcess`](/documentation/CrashReportExtension/CrashedProcess) parameter to inspect the state of the crashed app by retrieving a crash reason, symbolicating relevant addresses, and communicating with the process over a read-only Mach port. After collecting the crash data, you can send a report back to your own server.

As with all app extensions, your extension’s bundle identifier must be a child of the main app identifier. For example, for an app with bundle ID `com.example.myapp`, a crash reporter extension might use the identifiers `com.example.myapp.crash-handler` or `com.example.myapp.analytics.crashes`. In addition, your extension’s information property list needs to declare the extension point, as follows:

```xml
<dict>
    <key>EXAppExtensionAttributes</key>
    <dict>
        <key>EXExtensionPointIdentifier</key>
        <string>com.apple.crash-reporter.extension</string>
    </dict>
</dict>
```

Xcode adds an appropriate extension bundle identifier and information property list if you create your extension target with the Crash Report Extension template.

> Note: Crash Report Extension is available on iOS 27 and later. It isn’t available to Catalyst-based macOS apps, or on iOS apps running on Mac computers with Apple silicon.

## Topics

### Essentials

[`CrashReporterExtension`](/documentation/CrashReportExtension/CrashReporterExtension)

The base type for crash reporter extensions.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)