Skip to content
This repository has been archived by the owner on Jul 6, 2024. It is now read-only.

ChimeHQ/ImpactMeterAdapter

Github CI

ImpactMeterAdapter

Convert Impact crash reports into a Meter diagnostic source.

Integration

Swift Package Manager:

dependencies: [
    .package(url: "https://github.com/ChimeHQ/ImpactMeterAdapter")
]

What It Does

ImpactMeterAdapter gives you MXCrashDiagnostic payload when running on a supported platform/OS, and emulated payloads derived from Impact reports for backwards compatibility. When MXCrashDiagnostic is supported, Impact is not initialized. This gives you an easy way to interact with a consistent interface, as the (hopeful) migration towards MXCrashDiagnostic progresses.

ImpactMeterAdapter supports macOS 10.13+, iOS 12.0+, and tvOS 12.0+.

Getting Started

import ImpactMeterAdapter

class ExampleSubscriber {
    init() {
        MeterPayloadManager.shared.add(self)

        // Configure Impact here, if needed

        ImpactMeterDiagnosticProvider.shared.start()
    }
}

extension ExampleSubscriber: MeterPayloadSubscriber {
    func didReceive(_ payloads: [DiagnosticPayloadProtocol]) {
        // Here you will receive MXCrashDiagnostics when supported, or
        // an equivalent Impact-based version otherwise.
    }
}

For actually transmitting data back to a server, check out Wells.

Suggestions or Feedback

We'd love to hear from you! Get in touch via an issue or pull request.

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.