Migrating to XCode 5 has largely been very helpful. I’ve used many of the new features and I’m quite happy how things are working out.
One thing caught me by surprise.
Submitting apps to the store is usually a painful experience. One the goals of XCode 5 is to lessen the pain, at least a bit. So, imaging my surprise when submitting my latests updates was painful! Neither of my apps would pass the verification step in the approval process. Basically, the problem was that the app icons couldn’t be found.
I’m using XCode’s latest feature called image assets. They are great for managing all of the icon and launch images required for the app. It was supposed to make all this painless. For example, to manage your app icon, you made an app icon image set, load in all of the images, and the rest is magic.
But, it wasn’t quite magic.
It turns out, that when you build an app using image assets, XCode will modify the app’s info.plist file to list all of the app icons to be included in your app. However, if you’re like me and your project is older, you might have references to icons already in your info.plist files. I suspect in most cases, this wont be a problem. In my case, however, when I looked at the info.plist file for a compiled version of the app, all of those old icon references were still there. Thus, the verification process could not find those images and the app gets rejected.
Fortunately, it didn’t take TOO long to figure this out. So, I deleted all existing app icon references out of my plist file and after that, things verified normally.
Now that I knew the problem, I fixed it in my other app and the process really because much less painful.