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

in-app-purchaseiphone

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…

Best Answer

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
}
Related Topic