Posts
All the articles I've posted.
-
Running UI Tests on iOS With Ludicrous Speed
Published:• 11 min readTechniques for dramatically speeding up UI test execution in Xcode using parallelization and optimization strategies.
-
A Pragmatic Approach to Cross-Platform
Published:• 11 min readHow PSPDFKit shares a common C++ codebase across iOS, Android, and Web platforms while maintaining native user experiences.
-
Surprises with Swift Extensions
Published:• 5 min readCommon pitfalls and surprising behaviors when creating Swift extensions on Objective-C classes, with solutions for proper method naming.
-
Using ccache for Fun and Profit
Published:• 6 min readComplete guide to using ccache to dramatically speed up C/C++/Objective-C build times for large iOS projects and CI systems.
-
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.