Adding internationalization to a released App


A question for experts:

with the help of this book, I have my first App on iTunes. Thank you! Now I’d like to add a second language, switch from iPhone to universal, and make other improvements.

However, I have a (potential) problem:
When I install the first version on a device from iTunes, and then install the new internationalized version using xcode, I will see the content from the original xib files. To see the new versions, I have to do a fresh install from xcode.

My question is: will this same behavior be present if I release the new version in iTunes? If so, should my new version when starting first look for and delete old xib files in its bundle? Is this even possible? I have been searching all around, but cannot find an answer, although I do see occasional recommendations to delete and reinstall Apps that have trouble updating.

I think in the future I will “internationalize” xib files before the first release, even if I am only using English. That way, all xib files will be in the en.proj/ directory, and therefore will not be moved (with the old ones possibly lurking) if I do decide to add additional languages in a later release.


Update: in my app update, I ducked the issue by renaming my internationalized classes. That way any old xibs lurking around would have different names and could not conflict with the new versions. I would still like to hear some authoritative answer on this issue however…

When updating an app, I expect that the documents directory and user preferences remain untouched. But the old bundle is either completely replaced by the new bundle, or the new bundle is copied over the old bundle file by file. Which is it?


They don’t really tell us, but I believe the new bundle completely replaced the old one. You might have better luck pinging the developer forums at Apple and getting an answer from someone who has access to the iOS code.