From C Declarators to Objective-C Blocks Syntax

In this post, I start with the simplest C declarator and build in complexity until we get to Objective-C blocks syntax. It took me a while to get block syntax but once you understand how it is organized and where it comes from, there is no looking in Google every time you need to declare a block anymore.

If you want to be able to write block declarations from the top of your head, read-on!

I strongly advise against reading this post in an RSS reader or read later service. It does heavy use of colors to explain things and these colors would not appear there.

Read on →

Xcode 5 Finally Makes Interface Builder a Viable Option for Teams

Last week as I was merging code to my working branch, I noticed something I had rarely (never?) seen before:

Auto-merging Home/KTHomeViewController.xib

Git had just auto-merged a xib file for me! I figured this must have something to do with Xcode 5 and its “upgrading” of xib files, so I started digging.

It turns out that the xib files generated by Xcode 5 are of a completely new kind. It seems that Apple started from scratch with this and the changes make xib files finally usable in teams of all sizes for the first time.

Read on →

How to Have Two Versions of the Same App on Your Device

You have v1 of your great app in the App Store, and therefore on all your devices. You are now starting to work on v1.1. The problem is that if you just bump the version number and keep building/provisioning with your current settings, when you install it on your device, it will replace the App Store version.

In this article, I am going to explain how to get both the currently released version of your app and the development build you are working on the same device easily. I am also going to explain how to have 2 different icons for them so that you can tell them apart.

Read on →

Open Source Objective-C Code With Github and CocoaPods

Last week I decided to open source some classes that I have written and that I reuse often in apps so that other developers can benefit from them. This post has 3 parts: first I talk about how to format you code/project to make it useful to other developers. Then I explain how to put it on Github. And finally I describe what to do to make it available through CocoaPods.

Read on →

How to Turn a PNG Sequence Into a Video With the Correct Colors for the iPad

A few days ago, I was asked to embed videos in an iPad app and to have the video player be “invisible” to the user. This means that we extracted the part of the background for the view where the video would go and used it as the background for creating the video (in After Effects). Everything looked great and I had a perfectly invisible experience in the simulator.

Then I decided to test on an actual iPad. This is when I realized that the videos looked completely different from the background. I had a color management problem. We tried every export settings we could find in After Effects, nothing would work.

Read on →