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

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
}

Leave a Comment