Posts
steipete's blog
Cancel

Logging in Swift

With iOS 14, Apple improved the built-in logging framework and added many missing pieces. Is OSLog now something that can finally be used? Does OSLogStore Work Yet? YES!* *Apple removed OSLogSt...

Building with Swift Trunk Development Snapshots

I recently started the adventure of building PSPDFKit with the Swift trunk development snapshot. I did this both in order to verify a fix for the SR-12933 LLDB debugging issue and to be better prep...

Calling Super at Runtime in Swift

While working on InterposeKit, I had a rather specific need: Create an implementation that simply calls super, but at runtime instead of at compile time. Doesn’t sound so hard, does it? Well, here ...

zld — A Faster Version of Apple's Linker

zld is a drop-in replacement of Apple’s linker that uses optimized data structures and parallelizing to speed things up. It comes with a great promise: “Feel free to file an issue if you find i...

How to Fix LLDB: Couldn't IRGen Expression

A few weeks ago, we started receiving support tickets with reports that people can’t use the lldb debugger anymore after integrating PSPDFKit. Instead of printing an object, they get Couldn't IRG...

Updating macOS on a Hackintosh

With macOS 10.15.5 out, it was time to update my Hackintosh again. This does take a bit more preparation than updating genuine Mac hardware. Since a few folks on Twitter were curious, here’s how th...

InterposeKit — Elegant Swizzling in Swift

I built a thing! InterposeKit is a modern library for elegantly swizzling in Swift. It’s on GitHub, fully written in Swift 5.2+, and works on @objc dynamic Swift functions or Objective-C instance m...

The Great Mac Catalyst Text Input Crash Hunt

As of macOS 10.15.4, text input in Mac Catalyst apps sometimes crashes. I’ve noticed this a lot in Twitter for Mac, however, we also saw crash reports for PDF Viewer for Mac. My hope was Apple wo...

Jailbreaking for iOS Developers

Jailbreaking is something that’s rarely discussed in the iOS developer community — which is unfortunate, because it’s amazing. Let’s walk through a few useful things you can do with it. (Picture ...

Network Kernel Core Dump

A week after Apple’s initial “macOS Core Dump” reply, and me sending a lot of questions their way, I got a really nice, human reply that explains the process via networking and a second Mac. If yo...