icon dimensions (0 x 0) don’t meet the size requirements

Welcome to Apple World:

Submit – Fail, Submit – Fail, Submit – Fail

It certainly was not the first iOS App I had tried to submit, yet here I am, seeing the same ambiguous error:

iPhone/iPod Touch: icon.png: icon dimensions (0 x 0) don’t meet the size requirements. The icon file must be 57×57 pixels, in .png format

I mean, how can it tell me a file that clearly exists, shows in Preview as 57×57 and compiles without error is now 0x0 ??

1 hour and 1 minute, thank you Apple.

So finally the iPhone module – Key Elements (part of the new Set Professional range) is ready to go. The final step is to upload for Apple’s tick of approval and its in the AppStore. As with any submission we go through a simple set of checklists

[x] – Code Review
[x] – Clean
[x] – Compile (error free)
[x] – Artwork
[x] – – – Lo-Res
[x] – – – Hi-Res
[x] – – – AppStore
[x] – AppStore theme
[x] – Provisioning profile
[x] – App Submission Prep
[ ] – Upload binary

Each time an upload would take place I would see the same message, it talks of my icon file being the wrong size, but here is what we know so far;

1. You cannot set the icon file inside xCode without it being correct size (applies to both standard and hi-res image)
2. The plist file clearly shows the icon files are present and correct
3. Remove entry from pList, remove file and reset doesn’t work
4. Recreation of the icon file (just in case it had some weird corruption) still didn’t address it

Now we are really clutching at straws. Enter the google search. Having read a number of posts I came across an obscure entry http://nano-art.blogspot.com.au/2010/08/icon-dimensions-0-x-0-dont-meet-size.html Now all that is left is finding the entry in xCode 4.

So, it is hidden under the Packaging section of Build Settings.

The Culprit

Questions I still cannot answer:
1. How did it get set to YES
2. Why the Application uploader can’t tell me a real message

Strangely (well not strange really, just damn frustrating), after the flag is set to “NO”, the whole process was completed in less than 5 minutes.