I have two versions of my iOS App - FooBarApp for iPAD and FooBarApp for iPhone each with its own Bundle ID (com.foobar.fooBariPad for the iPAD app and com.foobar.fooBar for the Phone App) Both have the same functionality - searching and buying the same products.
I have created a new version of the iPhone FooBarApp which is now a Universal App and can run on both iPhone and iPAD. However I already have a large user base of users who alreadey have the iPAD apps.
I'd like to retire com.foobar.fooBariPad iPAD App, and ask the users to now download the new Universal App version com.foobar.fooBar. To do this I created a new version of com.foobar.fooBariPad, which is a forced update, and which on startup, prompts users to update to the new version of the app. When they accept the hand-coded update button, it redirects them to the appstore to update the App.
Kludgy I know, but I did this because there is no direct way to update the old iPAD app to the new Universal app (as they have different bundle ids)
Unfortunately Apple Rejected this with the message:
"Design Preamble Your app includes an update button or alerts the user to update the app. To avoid user confusion, app version updates must utilize the iOS built-in update mechanism. ... Next Steps Please remove the update feature from your app. "
In other words they want this to be a forced upgrade. We are thinking of just removing the previous iPAD App from the Appstore, but it may cause confusion. Would appreciate any smart solution to this problem, which will prompt users to switch from the old iPAD app to the new Universal App with the least friction. Perhaps push notification is the answer? (but if so then how)?
FOLLOWING onnoweb 's answer below, I got this from a friend who saw the way Dunkin Donut's had implemented this. Just in the messaging (not a tech fix)
Maybe it's a matter of terminology in the foobariPad app? I've done something similar (EOL-ing one app and asking users to switch to the new one) without any complaint from Apple. We did it by showing an alert to the user saying something like "We are ending support for this app. Please use this new app with the same and better functionality." and then a button that took them to the AppStore if they didn't have the new app installed, or if they did then we did an openURL() to the new app after tapping the button.
Maybe it's not clear to Apple that you're redirecting users to a new and different app rather than a newer version of the app the user is in?