How to localize your App Icon’s name

On March 23, 2010, in Programming, by Steffen Itterheim

If you have an App that is localized you may want to have the App Icon show a different name depending on which language is set on the iPhone. It’s not immediately obvious how to do so but really rather simple to do.

You will have to create a .strings file in your Resources folder. Right click and select Add -> New File. In the dialog, under Mac OS X choose “Resource” and select the Strings File template. Click Next and name it “InfoPlist.strings”.

Next, right click “InfoPlist.strings” and choose “Get Info”. On the General tab click the button at the bottom that says “Make File Localizable”. The Info dialog will change, so go back to General and add all the languages your App supports by clicking on “Add Localization” at the bottom. Once you’ve done that and closed the dialog you can expand InfoPlist.strings and see a file for each language.

For each language file add the following line with the desired App name:


"CFBundleDisplayName" = "my app's name";

Et voilá! That’s it!

By the way, there’s also an easy way to test if an App’s name still fits under the Icon without being cut in half or otherwise mangled. You know it when the App’s name reads something like “My Awes..App”.

Tagged with:  

Update: apparently this has also been discussed in the Unity forum and they reached about the same conclusion. It also shows more evidence that Unity Apps are hit pretty severely by the loss of compression due to the encryption process, 4-5 MB was what most users reported with some even much more than that.


I’m working on a calculation to at least determine the upper size of an App after Apple has had a go at it after a successful approval.

First of all we need to understand what Apple adds to the .app bundle after approval. I found a post that sums up the files that are added by Apple:

“additions are the iTunesArtwork file (70k), iTunesMetadata.plist (2k), files in the new SC_Info folder (12k) and the updated CodeResources file (9k)”

All in all about 100 KB in additional files. So where’s the rest of the bloat coming from? After all, some people even report an increase in size after approval of several Megabytes!

The answer is surprisingly simple: Apple is encrypting the executable file. By doing so its size doesn’t change much but its contents do which usually can no longer be compressed as much as before. By putting all this together i came up with a way to calculate the maximum size of your App in the App Store (it will most likely be less than this):

  1. open the .app bundle via right-click -> Show Package Contents (on Mac)
  2. locate the executable file and remember its (uncompressed) size (Size “A”)
  3. delete the executable from the bundle
  4. zip the bundle and remember the bundle’s compressed size (Size “B”)

Size “C” are the 100 KB from the additional files added to the bundle by Apple. The final calculation for the maximum size of your App is as follows:

A + B + C = maximum size of your App after approval

The calculation put in words:

(uncompressed executable size) + (app bundle compressed but without executable) + 0,1 MB = maximum size of your App after approval

I only have one App (51 Japanese Characters) in the App Store right now, so i can only test it with this App. The submitted App is 3,9 MB zipped and 4,3 MB on the App Store. The executable file is 1,0 MB and the App compressed without the executable is 3,6 MB. By my calculation i get:

1,0 MB + 3,6 MB + 0,1 MB = 4,7 MB

That is more than the 4,3 MB the App’s actual size on the App Store but remember: we calculated the maximum size the App might have. Depending on your code and more likely the engine you use (i use cocos2d exclusively till now) the amount of compression lost by Apple’s encryption varies greatly. Especially if assets (images, sound, music) are embedded in the executable (so don’t do that!). I hear that Unity iPhone applications can suffer a great deal more, however i don’t know if there was anything particular about the App nor which version of Unity iPhone was used, so take it with a grain of salt.

Now, how can we get closer to reality with this calculation? By introducing a good (upper) value for how much the executable file can still be compressed after encryption. In the case of 51 Japanese Characters it amounts to about 60%. So if we modify the calculation with a compression factor “F” we get:

(A * F) + B + C = maximum size of your App after approval

In the case of 51 Japanese Characters F would be 0,6.

I would very much appreciate it if you could do the calculation with your app(s) and post your results here. I’m most interested in your value for F, the more reports we can get the closer to the (mean average) compression factor for the encrypted executable. At this point i can only say it’s 0,6 in this particular case but it might as well be 1,0 for other Apps. Please post your results here!

Tagged with:  

How do i even get up in the morning?

On February 4, 2010, in Good Advice, by Steffen Itterheim

It’s simple: i use the Sleep Cycle alarm clock. It’s an iPhone App that wakes you within 30 minutes of the set alarm time when you’re not in deep sleep. The result: i feel more relaxed in the morning, less sleepy or light-headed. And it goes on into the day. It just works, for me at least.

The significant part about this is that, for a long time, i tended to go to bed later and later every night and so waking up later and later in the morning – or simply feeling more and more tired after each night when i had to get up around the same time.

Over time i developed a terrible habit – i actually set my radio alarm clock to 30 to 60 minutes earlier than when i really have to get up. I used to think that helps me feel more relaxed just from the great feeling of waking up, realizing i still have another 10 minutes, turn around, hit the radio snooze button, sleep another 9 minutes. Or at least lay in bed, tired, for 9 minutes. Rinse and repeat until i finally have to get up. But that always made it hard to get out of bed and it almost always caused me to feel very tired during some point in the day, usually after lunch or right before dinner time. So tired, in fact, that i used to take power naps at work at least one or two days per week. But fortunately i did not snore like others through closed doors, head bent backwards over the chair and tablet pen still in hand. :p

Now with sleep cycle this dreadful “wake up, sleep 10 more minutes” behavior definitely hasn’t stopped, especially if i don’t have to get up at a certain time. But i do make a point to allow the sleep cycle alarm go off first and i’m using my radio alarm only as a backup. And it’s surprising that the alarm goes off when i’m almost mentally present, it’s as if it was acknowledging that i just woke up anyway.

Plus i continue to set my alarm to some time between 8 and 9:30 … quite early for me to wake up voluntarily. I mean, if i wanted to i could sleep till noon most of the days. But i don’t because i know that behavior is actually making me very unproductive, over time sleeping longer and longer and going to bed later and later as i said.

I did not believe it before because i haven’t given it much thought, but …. healthy sleep is very important for a productive work day. And it’s not all about the hours, it also has a lot to do with how you wake up!

Tagged with: