With the release of v1.1 of Birdie we encountered the following problem: where to put a user readable version number without introducing some kind of “splash screen”?
One solution for this is, to put a text with the version number on the “Default.png”. This is an image which is displayed immediately when launching an iPhone app until the application is fully loaded and initialized. Usually this image is a “neutral” screenshot of the application itself.
The problem with this solution is, that the developer has to edit the Default.png each time in a grafic editor to set a new version number. This gets even worse, when the application uses mutliple localized Default.png files.
To solve this issue, I wrote a small command line tool, which takes a “blank” Default.png, writes some text on in (usually the version number) and writes the result back to disk. This way this process can be easily integrated into the build process of the application. The only thing which has to be changed between releases is the version number itself, which may be a build setting.
Here’s an example of how this works in Birdie’s Xcode project:
In the application target a new script build phase has been inserted as the first build phase. It contains the calls of TagDefaultImage for each localized Default.png in the project:

(click on the thumbnail for a full size view)
I use a user defined build setting variable “BUILD_VERSION” for the version number. So all I have to change is only this variable in the target’s build settings. Of course, this BUILD_VERSION variable is also used in my Info.plist to define the application’s bundle version.
If you’re interested, you can download TagDefaultImage for free.
Call TagDefaultImage without any arguments to see a list of available options:
Usage:
TagDefaultImage [args]
args:
--fontname (-f): fully specified family-face name, such as Helvetica-BoldOblique or Times-Roman.
--fontsize (-s): font size in Point.
--posx (-x): x position of text.
--posy (-y): y position of text.
--text (-t): text.
--in (-i): path to background image file.
--out (-o): targetpath.
--color (-c): font color 0. - 1. (black).
If you like it, please leave a comment below. Also any feedback is highly appreciated!