Mistakes Were Made

11 Nov 2013

Custom View Controller Transitions in Landscape

iOS 7’s custom transitions are great — until you rotate the device. A breakdown of the landscape bugs, the hacky workarounds that don’t quite hold up, and why we went back to view controller containment.

5 Nov 2012

Mistakes Were Made: Audio and ARC

ARC silently kills your AVAudioPlayer mid-playback. Here’s why and how to fix it. Spoiler: make it an ivar, and maybe file a radar while you’re at it.

27 Aug 2012

Premature Completion: An Embarrassing Problem

Core Animation runs your completion block early if it doesn’t find any animations. Rude. Includes a sample project to poke at the behavior yourself and avoid hours of confused debugging.

5 Oct 2011

Mistakes Were Made: Integral Bounds

Non-integral CALayer bounds don’t just look blurry — they actually chop off pixels. A forensic look at CATextLayer backing stores, with screenshots and sample code to prove it.

30 Sep 2011

Mistakes Were Made: Description Isn’t Enough

Turns out po calls debugDescription, not description. Oops. A correction to an earlier blog post, with the fix that keeps CALayer subclasses from hijacking your custom output.

1 Aug 2011

Mistakes Were Made: Initialize Your Locals

An uninitialized float worked fine in debug and shipped a bug to the App Store. The fix is a compiler warning you should turn on right now — plus a lesson in why zeroing your locals matters.