Forced Update

Hi, does anyone know how to integrate a "Forced Update" function into an iOS app?


This is where, when the user taps the app to launch it or bring it to the foreground, a modal alert is presented informing the user that the app needs to be updated in order for it to continue to work. The user will have no option but to update the app. Otherwise, the app will not work. When the user acknowledges the modal alert and taps <Ok>, the app is automatically updated, without the user being taken to the App Store and having to tap the Update button.


Your shared advice is greatly appreciated! Thanks!!

Accepted Reply

> the app is automatically updated, without the user being taken to the App Store and having to tap the Update button


This part is not possible. If an actual App Store update is needed, the user has to initiate it. (Or the OS, if automatic updates are enabled by the user. But not the app itself.)


For the rest, yes you are free to put up a modal dialog and have the app refuse to do anything if you detect (presumably by contacting your server) that an update is available. Lots of multiplayer games do this, for example, to ensure a level playing field where all clients can handle the latest server features just added.

Replies

There are two different types of updates: content updates and app updates.


Content updates can be done automatically. Just download the new content from your server.


On the other hand, an app cannot update itself—users must go to the App Store for app updates. You can do what apps like Fortnite do: force users to go the App Store and update the app.

Thank you so much for your reply! The UX you've described is different from what we have experienced with other apps. Keen to see if others have experienced what we have outlined above in our query.

Which apps are they? Chances are that those apps are just updating their content and not the app itself.


Perhaps you could be more specific about what in your app needs to be updated.

>This is where, when the user taps the app to launch it or bring it to the foreground, a modal alert is presented informing the user that the app needs to be updated in order for it to continue to work.


I'd guess that 'alert' is a store/system dialog triggered by one or more incompatibilities between the user's OS and/or device...not something a dev can casually choose to employ on their own.

Thanks, you may be right. I cannot recall which apps they were. The text in the alert is as decribed and I'm not sure whether it was due to a content update, eg. backend database, tables, or app itself. If we were to make backend changes, eg. added new fields, is there a way we could force the update per the UX mentioned above?

Just so we're all on the same page—are you asking how to update your app's content from a web server, or how to show a modal alert? If the former, that depends on your app's design. If the latter, just use UIAlertController to show whatever options you want.

Thank you for your reply! We are able to display modal alerts but are trying to avoid users having to go to the App Store to update the app. We were hoping by tapping "Ok" from the modal alert, the update then kicks off automatically. Not to worry, I think for now we just have to accept the extra step of users being navigated to to the App Store. Thanks again for your continued help! It's much appreciated!

> the app is automatically updated, without the user being taken to the App Store and having to tap the Update button


This part is not possible. If an actual App Store update is needed, the user has to initiate it. (Or the OS, if automatic updates are enabled by the user. But not the app itself.)


For the rest, yes you are free to put up a modal dialog and have the app refuse to do anything if you detect (presumably by contacting your server) that an update is available. Lots of multiplayer games do this, for example, to ensure a level playing field where all clients can handle the latest server features just added.

Thanks! In the case where you've mentioned latest server features being added, what would be the UX after the user is informed via the modal dialog? Would the user still be required to go to the App Store to get the latest app update or can there be a separate app update process? I imagaine not, given Apple would obviously need to review and approve all app udpates. Would that be correct?

If the app has got an update after launching the app user will experience a dialog saying "Your app has Update", After user clicks Ok he/she will be redirect to the app store.


My question:

After landing to app store if the user denys to update the app and relaunch the app again he will be experincing the dialog again and will be blocked untill he/she updates the app.

So will my app gets rejected because of this functionalty implemented in the app while submitting for review?