iOS Developers: How To Preserve User Purchases When Releasing a New App

| How-To

Yep, you can merge purchases from your free apps into your pro apps.A common issue plaguing long-time iOS developers is the desire to merge the free and pro versions of an app, instead utilizing in-app purchases, while still preserving existing users' paid-for features. Normally iOS apps can only share settings on the device whereas the better solution would be to store unlocked features on Apple's servers.

The latter allows users the freedom to restore and upgrade while preserving their purchased features, but Apple doesn't make it obvious how to accomplish this.

Our friends at DigiDNA found that employing free in-app purchases solves this problem. Their strategy, in short, is:

  1. Simultaneously release the new app alongside an update to the legacy version.
  2. Have the legacy version write a special flag in the keychain at first launch. These keychain entries can be read by the new app because they're from you, the same developer.
  3. Have the legacy app inform users that the new app exists, and let them know that all currently-owned features will be unlocked for free.
  4. Once installed, the new app reads the special keychain entry and offers those users (and only those users) a free in-app purchase bundle that unlocks all their previously paid-for add-ons (yes, free in-app purchases seem counter-intuitive, but they are allowed, at least currently).

Interested developers can (and should) read the whole blog post to get the nitty gritty on this creative method. Kudos to the folks at DigiDNA for coming up with this solution!

[Some image elements courtesy Shutterstock]

Sign Up for the Newsletter

Join the TMO Express Daily Newsletter to get the latest Mac headlines in your e-mail every weekday.

1 Comments

Graham McKay

I’m not a developer but I want to see the good developers stay in business and the “free updates forever” model that the app store uses isn’t overly conducive to that.

Certainly the ability to reinstall an already “purchased” app (same or different devices) without further payment is integral to a great app store experience but it isn’t optimal to be cluttering the store with new apps which are really just upgrades.

Log-in to comment