Articles archive

Fixing What Apple Doesn't
From: Peter Steinberger’s Blog
Added: March 1, 2026
Fixing UITextView On iOS 7
From: Peter Steinberger’s Blog
Added: March 1, 2026
Hacking with Aspects
From: Peter Steinberger’s Blog
Added: March 1, 2026
A Story About Swizzling "the Right Way™" and Touch Forwarding
From: Peter Steinberger’s Blog
Added: March 1, 2026
Retrofitting containsString: on iOS 7
From: Peter Steinberger’s Blog
Added: March 1, 2026
UIKit Debug Mode
From: Peter Steinberger’s Blog
Added: March 1, 2026
The curious case of rotation with multiple windows on iOS 8
From: Peter Steinberger’s Blog
Added: March 1, 2026
Researching ResearchKit
From: Peter Steinberger’s Blog
Added: March 1, 2026
UITableViewController designated initializer woes
From: Peter Steinberger’s Blog
Added: March 1, 2026
Using ccache for Fun and Profit
From: Peter Steinberger’s Blog
Added: March 1, 2026
Surprises with Swift Extensions
From: Peter Steinberger’s Blog
Added: March 1, 2026
A Pragmatic Approach to Cross-Platform
From: Peter Steinberger’s Blog
Added: March 1, 2026
Running UI Tests on iOS With Ludicrous Speed
From: Peter Steinberger’s Blog
Added: March 1, 2026
Swifty Objective-C
From: Peter Steinberger’s Blog
Added: March 1, 2026
Investigating Thread Safety of UIImage
From: Peter Steinberger’s Blog
Added: March 1, 2026
Efficient iOS Version Checking
From: Peter Steinberger’s Blog
Added: March 1, 2026
Converting Xcode Test Runs to JUnit, the Fast Way
From: Peter Steinberger’s Blog
Added: March 1, 2026
Real-time collaboration, Apple, and you
From: Peter Steinberger’s Blog
Added: March 1, 2026
Writing Good Bug Reports
From: Peter Steinberger’s Blog
Added: March 1, 2026
Hiring a distributed team
From: Peter Steinberger’s Blog
Added: March 1, 2026
UI testing on iOS, without busy waiting
From: Peter Steinberger’s Blog
Added: March 1, 2026
Running tests with Clang Address Sanitizer
From: Peter Steinberger’s Blog
Added: March 1, 2026
The Case for Deprecating UITableView
From: Peter Steinberger’s Blog
Added: March 1, 2026
Even Swiftier Objective-C
From: Peter Steinberger’s Blog
Added: March 1, 2026
Binary Frameworks in Swift
From: Peter Steinberger’s Blog
Added: March 1, 2026
Hardcore Debugging - Heavy Weapons for Hard Bugs
From: Peter Steinberger’s Blog
Added: March 1, 2026
How to Use Slack and Not Go Crazy
From: Peter Steinberger’s Blog
Added: March 1, 2026
Marzipan: Porting iOS Apps to the Mac
From: Peter Steinberger’s Blog
Added: March 1, 2026
Challenges of Adopting Drag and Drop
From: Peter Steinberger’s Blog
Added: March 1, 2026
WWDC for First-Timers, 2019 Edition
From: Peter Steinberger’s Blog
Added: March 1, 2026
Swizzling in Swift
From: Peter Steinberger’s Blog
Added: March 1, 2026
How We Work at PSPDFKit
From: Peter Steinberger’s Blog
Added: March 1, 2026
Let's Try This Again
From: Peter Steinberger’s Blog
Added: March 1, 2026
The LG UltraFine 5K, kernel_task, and Me
From: Peter Steinberger’s Blog
Added: March 1, 2026
Kernel Panics and Surprise boot-args
From: Peter Steinberger’s Blog
Added: March 1, 2026
How to macOS Core Dump
From: Peter Steinberger’s Blog
Added: March 1, 2026
Network Kernel Core Dump
From: Peter Steinberger’s Blog
Added: March 1, 2026
Jailbreaking for iOS Developers
From: Peter Steinberger’s Blog
Added: March 1, 2026
The Great Mac Catalyst Text Input Crash Hunt
From: Peter Steinberger’s Blog
Added: March 1, 2026
InterposeKit — Elegant Swizzling in Swift
From: Peter Steinberger’s Blog
Added: March 1, 2026