Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Transition an existing paid for app to free version with In App Purchase

Tags:

I have existing users of a paid for app on the App Store. I'd like to transition the app to a free app with unlock-able features. Is there a way to roll my existing users into this new free version that allows a paid "upgrade" so the existing users are treated as if they've already paid for this upgrade? OR, as I expect, must we maintain two separate code bases as app development moves forward - in lieu of angering our existing customers by forcing them to purchase again?

I'm aware that initially there prolly won't be many authoritative answers to this question as Apple has only today started allowing support for In-App Purchases from within free apps...

like image 857
Meltemi Avatar asked Oct 16 '09 01:10

Meltemi


People also ask

Is an app free if it says in-app purchases?

Before installing an app, users often see the message “In-app purchases” next to the “Get” button for free apps or the app price button for paid apps. This messaging indicates that users will have the opportunity to pay for additional features, content, or services within an app.

Can I transfer a paid app to another Iphone?

On any device you own, just sign into the App, iTunes or iBook store with the same AppleID and you have access to that AppleIDs purchase history. Then download and install your content. Purchases are tied to your AppleID and not any given device.

How do I change my subscription price on App Store?

Select Users & Accounts, then select your account. Select Subscriptions. Choose the subscription that you want to change. Choose a different subscription option.


1 Answers

is there's some way you can tell if your app has been run before? (like settings you write on exit, data files created, date stamp of first run?)

if so, you could put code in your upgrade like:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; if (nil == [defaults objectForKey:@"app_v2_has_been_run"]) {     if (nil == [defaults objectForKey:@"some_key_v1_makes"] {          // they never had v1 of your app     } else {          // they had v1 of your app, so unlock some stuff for them     }     [defaults setObject:[NSDate date] forKey:@"app_v2_has_been_run"]; // or whatever } 
like image 189
David Maymudes Avatar answered Sep 21 '22 17:09

David Maymudes