What MetricKit Means for In-Process Crash Reporting
Blog post from Luciq
MetricKit, introduced with iOS 13 and expanded in iOS 14, provides developers with an API to access on-device power and performance metrics, including new metrics like CPU instructions, animation hitches, and exit reasons, which track app terminations due to various issues. It represents Apple's first-party solution for creating complex crash reporting pipelines, offering raw diagnostic data that supports multiple consumers and requires developers to analyze and process it themselves. While MetricKit's crash reporting presents a promising alternative to traditional in-process crash reporting, it has limitations, such as reliance on user opt-in for diagnostics sharing and constraints on data retrieval frequency, which may hinder its immediate widespread adoption. Although it offers a framework for enhanced privacy by potentially limiting the use of in-process methods, current limitations and the requirement for iOS 14 adoption suggest that MetricKit will not yet replace existing crash reporting solutions. Apple's future updates may address these issues, potentially influencing developers' choice of diagnostic tools.