Sentry Nov 9, 2025

Reverse Engineering iOS to Fix SDK Crashes

Article Summary

Phil Niedertscheider from Sentry reverse-engineered Apple's private frameworks after iPadOS 26 broke a fundamental assumption: that successful type casts guarantee the object is actually that type.

The Sentry team discovered their iOS SDK was crashing on iPadOS 26 when users tried to print. The culprit? Apple's UIPrintPanelViewController was overriding isKindOfClass to return true for UISplitViewController checks, despite not being a subclass. This violated basic Swift type safety assumptions.

Key Takeaways

Critical Insight

Apple's internal framework changes in iPadOS 26 broke type casting assumptions, requiring runtime selector checks as a defensive measure.

The investigation reveals how Objective-C's dynamic runtime creates surprising edge cases that even Swift's type system can't protect against.

Recent from Sentry

Related Articles