5

I'm not sure what SE site to ask this on, but I figure this is something somebody in the SE community has the answer. Feel free to move this question if this is the wrong place.

Recently I launched the game Vainglory on my iPhone for the first time in a while. The first thing I noticed was the pop-up saying that the app may slow down my phone (meaning it doesn't have a 64-bit executable, something which a number of apps have). When I got in the game the main menu showed a screen saying I need to update the app, which struck me as odd since I have auto update turned on. When I tapped the "update" button in the app it took me to the App Store, not to update the app but to download a different app, also named Vainglory, but was clearly an updated version of the game.

Somewhere under the covers this is probably the equivalent of having an app on the store with the bundle identifier com.companyname.app1 and then launching another one with the identifier com.companyname.app2.

But as an app developer with a few entries on the store what I don't understand is what technical or business reason would drive a company to do this, at least with free apps (it might make sense if you made the "sequel" to an app and wanted people to pay again).

I thought there might be some sort of weird issue going on, but then Apple launched a new version of their Remote app to control the Apple TV. They had a version out for several years that controlled Apple TV 3 units but this version now controls both Apple TV 4 and Apple TV 3 units. What I don't get is why they didn't just update the old Remote app.

I thought maybe there was an issue with company ownership (i.e., Skype puts out their Skype app and then they get bought by Microsoft so now the Skype app needs to look like it comes from Microsoft) but there's a process Apple has to transfer apps between companies. Plus Apple themselves wouldn't need to do this for their Remote app.

What technical or business reason would a company app have to move a free app from one "app" identifier to another?


Something to add - I've done Android development and there is one "screw it up permanently" scenario there: if you lose the Keystore file to sign the app with or lose the password you can't ever update the app again on Google Play. You'd need to submit a different app with a different identifier. And you can't update the old app to send people a message to go to the new app either.

Also Google has (or had) a rule that a free App can't change to a paid app, so that might be another reason to submit a new app on Google Play.

But neither of those are occurring here for the Vainglory or Remote apps, and app signing is handled differently in the Apple world (so long as someone with access to the developer account can get a certificate the app can be re-signed and re-uploaded).

  • 1
  • 3
    I can tweak the question but I wasn't intending it as customer support, I'm genuinely curious what technical or business reason would make a company have to move everyone to a new app. I can't figure out which SE would be best for this, so I chose Programmers.SE. Like I said if this is the wrong place feel free to move it. – Tom Kidd Apr 27 '17 at 15:48
  • Sound like they want two versions of the app, one with and one without the 64 bit capability? In your case, you're being asked to install version 2 which doesn't have this capability,where new users would get version 1 (Which gets advertised) if their phone can handle it (or get moved to version 2 if not). – JeffO Apr 27 '17 at 17:58
  • @JeffO but they could just recompile the original app for 64-bit. That's what a lot of game developers are having to do to keep their apps running when iOS 11 goes 64-bit only. Here's one example mightyvision.blogspot.pt/2017/04/868-hack-update.html – Tom Kidd Apr 27 '17 at 18:45
  • This probably belongs on apple.stackexchange.com – Daniel T. Jul 8 '17 at 18:27
5

If one builds an app with 64-bit support using current versions of Xcode, it is no longer compatible with iOS devices running iOS 5.0 or earlier. Perhaps a developer wants to separately support customers who have already downloaded/purchased the app on those old devices by maintaining the old app's complete toolchain, unmodified by any new commits or tools (and older versions of Xcode used different incompatible versions of SVN, or even CVS).

Perhaps a developer wants the customer to have the option to download, keep and/or run both versions of the app, old and new, on either separate or the same customer devices. This can allow an app controlled data migration between versions (via URL, etc.), if both versions have been updated to support that process. This might be important if iCloud data or other server/protocol support is extremely incompatible between versions, and both need to run in parallel for some period of time.

Perhaps a developer wants both versions in the App store for a temporary period, to allow downloads and/or updates to/from both classes of customer. This allows separate user messages or notifications (etc.) from the different versions.

A possible business reason might be that some ownership, sub-royalty and/or 3rd party license agreements may have changed between versions of the app, and the developer wants the two versions to appear as completely separate line items in the official Sales/Trend and Financial reports from Apple for legal/contractual reasons.

2

hotpaw2 gives some good possibilities but in the time since I wrote this question I stumbled across the answer for Vainglory: turns out for whatever reason the developers initially had separate iPhone and iPad apps and they consolidated them into one Universal app. Specifically they updated the iPad app to be Universal and then modified the iPhone app to point people to the now-Universal iPad app and pulled the iPhone app from the store.

https://www.imore.com/vainglory-now-universal-app-iphone-and-ipad-its-latest-update

It's possible app thinning played a role - used to be you had to package all assets for all versions in the same app, which could make the download huge. Now Apple has the ability to have a device only need to download the resources that version needs (so, @2x resources for the iPhone 7, @3x resources for the iPhone 7+, etc.)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.