---
title: "iOS 27: CrashReportExtension Framework"
description: "Curadoria sobre o novo framework CrashReportExtension do iOS 27: extensão out-of-process para inspecionar crashes com segurança, com complementos sobre CrashReportKit, análise do Michael Tsai e o diff de APIs do iOS 27."
canonical: "https://ronanrodrigo.dev/notes/ios-27-crashreportextension"
markdown: "https://ronanrodrigo.dev/notes/ios-27-crashreportextension.md"
last-updated: "2026-09-21"
---
## iOS 27: CrashReportExtension Framework — Anton Gubarenko

O iOS 27 introduz o framework CrashReportExtension, que muda a arquitetura de crash reporting: em vez de rodar lógica de análise dentro do próprio processo prestes a morrer (signal handlers com restrições severas de segurança), o sistema lança uma extensão out-of-process dedicada após o crash. A extensão recebe `processCrashReport(process:)` com um cliente `CrashedProcess` somente leitura, que dá acesso ao crash reason (exception e codes), às binary images carregadas no momento da falha, à symbolication de endereços e ao armazenamento via App Group compartilhado com o app. O artigo cobre ainda debugging da extensão e como essa abordagem se encaixa junto aos crash reports `.ips` padrão da Apple — não os substitui, mas oferece um ponto suportado para análise própria no dispositivo. Vale notar a limitação: não está disponível para apps Catalyst ou apps iOS em Macs com Apple silicon.

[Acesse a fonte original](https://antongubarenko.substack.com/p/ios-27-crashreportextension-framework)

## CrashReportKit — build on top of CrashReportExtension

Pacote Swift que transforma o baixo-nível `CrashedProcess` do CrashReportExtension em um crash report completo armazenado localmente com uma chamada: enumeração de threads, leitura de registros ARM64, unwinding de stacks, matching de frames com binary images, resolução de símbolos, escrita atômica de JSON versionado e pruning de relatórios antigos. Não substitui serviços hospedados de crash analytics — o app controla retenção, compartilhamento e transmissão. O README mostra o esqueleto completo da extensão com `CrashReportConfiguration` (app group, nome do app, limite de relatórios) e documenta que builds release normalmente exigem symbolication offline via dSYM.

[Acesse a fonte original](https://github.com/infinitepower18/CrashReportKit)

## CrashReportExtension — Michael Tsai

Resumo crítico da API nova: o handler é uma app extension que conforma ao protocolo `CrashReporterExtension`, invocada pelo sistema quando o app crasha; via `CrashedProcess` é possível recuperar o crash reason, simbolizar endereços relevantes e conversar com o processo por um Mach port somente leitura. Reúne também links da documentação da Apple e a mesma limitação de plataforma (iOS 27+, nada de Catalyst ou Apple silicon).

[Acesse a fonte original](https://mjtsai.com/blog/2026/06/22/crashreportextension)

## iOS 27 Framework and API diff — kylebshr

Diff completo de APIs do iOS 27 extraído dos SDKs: +33 frameworks novos (277 → 310), 673 declarações públicas novas e apenas 9 remoções — o CrashReportExtension aparece entre os frameworks de sistema/security/platform, junto com EnhancedLinkSecurity e mudanças em StateReporting. Útil para dimensionar o novo framework no contexto da versão.

[Acesse a fonte original](https://gist.github.com/kylebshr/f726ceb6e01faeef962681da1e97c678)
