Contents

diagnosticReports

An asynchronous sequence that delivers diagnostic reports as individual events.

Declaration

final var diagnosticReports: some AsyncSequence<DiagnosticReport, Never> { get }

Mentioned in

Discussion

Iterate diagnosticReports in a long-lived Task to receive DiagnosticReport values. Each iteration yields a single diagnostic event, such as a crash, hang, or CPU exception. The sequence never throws.

Task {
    for await report in manager.diagnosticReports {
        switch report.result {
        case .crash(let diagnostic): handleCrash(diagnostic)
        case .hang(let diagnostic): handleHang(diagnostic)
        @unknown default: break
        }
    }
}

See Also

Reports