Posts
All the articles I've posted.
-
UITableViewController designated initializer woes
Published:• 3 min readNavigate the complications of subclassing UITableViewController after iOS 8.3 introduced designated initializers that break proper initialization patterns.
-
Researching ResearchKit
Published:• 6 min readAnalyze Apple's first major open-source project ResearchKit to discover interesting implementation details and practical iOS development solutions.
-
The curious case of rotation with multiple windows on iOS 8
Published:• 2 min readDiagnose and solve an iOS 8 regression where unwanted rotation occurs in apps using multiple windows despite explicit configuration.
-
UIKit Debug Mode
Published:• 2 min readUnlock hidden UIKit debugging features by bypassing Apple's InternalBuild checks to access secret flags for logging touches, gestures, and animations.
-
Retrofitting containsString: on iOS 7
Published:• 1 min readBackport iOS 8's convenient NSString containsString: method to iOS 7 using runtime patching that won't conflict with Apple's implementation.
-
A Story About Swizzling "the Right Way™" and Touch Forwarding
Published:• 8 min readLearn why traditional method swizzling breaks UIKit's touch forwarding and discover a better approach that preserves _cmd integrity.
-
Hacking with Aspects
Published:• 3 min readExplore how Apple detects popover presentation in UIImagePickerController and learn to bypass the restriction using my Aspects library.
-
Fixing UITextView On iOS 7
Published:• 2 min readFix the severe scrolling and content positioning bugs in iOS 7's UITextView with PSPDFTextView, a drop-in replacement.
-
Fixing What Apple Doesn't
Published:• 2 min readFix the misaligned label in iOS 7's printer controller by swizzling UIPrinterSearchingView's layoutSubviews method.
-
How To Inspect The View Hierarchy Of Third-Party Apps
Published:• 3 min readLearn how to inspect view hierarchies of third-party iOS apps using a jailbroken device and debugging tools like Reveal for design insights.