Category Archives: Explanation

Mistakes Were Made: A Brief Note on Keyboard Full Access

If you’re like me, you just spent several days refactoring a framework shared between a host app and its app extension–say, a keyboard extension–into its own project and repository. You finally got everything building again, resolving all the broken framework … Continue reading

Posted in Explanation | Tagged , , , , | Leave a comment

Custom View Controller Transitions in Landscape

Recently, Jerry wrote about a really cool view controller transition we put together, SMLBookshelfTransition. As you can tell from that post, we’re really excited about all the possibilities this new API provides. You might have noticed though that Jerry made … Continue reading

Posted in Explanation | Tagged , , , , | 5 Comments

Mistakes Were Made: Audio and ARC

There’s a mistake I have, to my own great embarrassment, made twice, so I think it’s worth writing up for posterity. This one’s brief: you can laugh at me and move on. Under ARC, AVAudioPlayers don’t retain themselves while playing. … Continue reading

Posted in Explanation | Tagged , , , , , , , | Leave a comment

Premature Completion: An Embarrassing Problem

Working on a project recently, Jerry and I came across an odd bug. We have a two-level UI that allows the user to navigate between several different scroll views. For the sake of keeping things pretty, we want to reset … Continue reading

Posted in Explanation | Tagged , , , , , , , , | 10 Comments

Xcode Archives – What a Buncha Jerks

It’s been a little quiet around here lately, and if this post title hasn’t given it away, it’s because Joel and I have been pretty hard at work getting some products shipped. At the day job, the bossman is generally … Continue reading

Posted in Explanation | Tagged , | Leave a comment

All in the Timing: Keeping Track of Time Passed on iOS

Imagine you’re writing a game called Small Skyscraper. It’s one of a certain type of freemium game: it’s not particularly difficult, but achievements take a lot of time. You make money by selling in-app purchases to reduce the amount of … Continue reading

Posted in Explanation | Tagged , , , , , | 1 Comment

CALayer Internals: Contents

It’s right there in the CALayer documentation: contents An object that provides the contents of the layer. Animatable. @property(retain) id contents Discussion A layer can set this property to a CGImageRef to display the image as its contents. The default value is nil. There’s … Continue reading

Posted in Explanation | Tagged , , , | 1 Comment

CALayer’s Parallel Universe

Ever tried to animate a UIView’s position?  It’s easy, using UIView animation class methods like animateWithDuration:animations: and friends.  Simply change the position inside the “animations” block, et voila, a pretty animation with the duration of your choice. But have you … Continue reading

Posted in Explanation | Tagged , , , | 1 Comment

CALayers v. CGLayers, or, Which Layer, Player?

What’s the Deal? An evergreen source of confusion for developers new to graphics on iOS is the existence of multiple Apple-provided graphics frameworks, and multiple “layer” objects within those frameworks.  We’re told to use Core Animation for compositing and animation, … Continue reading

Posted in Explanation | Tagged , , , | 2 Comments