Over the air game updates?

Is it possible on iOS to do over air updates? … almost the same way MMOs do it? Where on the loading screen the game checks to see if there is an update, and if there is it downloads the changed/new files and patches the game.

Is this possible with Unity for iOS? (is it even allowed by Apple?)

As far as I’ve understood it, no, it’s not possible. For some additional content maybe, but not runnable binaries. Every piece of code running on iOS has to be signed by Apple, no way around it (except jail breaking). Your app could check whether there is newer version of it in the App store, and give user option to go there. But you better not refuse to run the game without update, that would be agains gazillion of Apple policies, and you wouldn’t want to do that.

Maybe you should check on your server if the client has the newest version and if not say to the use that he have to update in order to play and give him a quick link to the app-store so he can update fast.

I wouldn’t try my luck on that one, forcing the user to update only because a newer version exists. Inform the user, supply a link but don’t break your app after installation intentionally. Leave it up to the user to decide wheter he needs the update or not. Else you’ll just end up pissing off the users, let alone the mighty A.

My experience with desktop MMO’s , is that everyone have to have the new version to work propper.
Not sure how do deal with that on a mobile app.

If it can be handled you are correct , forcing a user to update is bad.

I was thinking more along the line of adding new scenes to the game … or pushing over the air a new XML file that changes some configuration of the game.

So if I needed some XML files changed I have to resubmit my entire app?

As far as I know, it’s very possible to download XML and stuff and save it to the file system. Be sure to check network connectivity before doing anything network-releated, it’s a basis for app rejection if not done.