I\'m explicitly NOT referring to in-app purchases.
Is it possible to discover the purchase date of the application itself on iOS?
I\'d like to reward early
Unfortunately it is not possible.
I am almost positive this is impossible by any method.
HOWEVER you could potentially store the date of their first "launch" of the application then do whatever you wanted with it.
if ([[[[NSUserDefaults standardUserDefaults] dictionaryRepresentation] allKeys] containsObject:@"firstLaunch"]) {
[[NSUserDefaults standardUserDefaults] setObject:[NSDate date] forKey:@"firstLaunch"];
}
NSDate *firstLaunch = [[NSUserDefaults standardUserDefaults] objectForKey:@"firstLaunch"];
if (firstLaunch < Cutoff) {
// Do Something
}
just to update this, it IS possible. Take a look at the answer to this question -- one of the fields in the receipt is "original purchase date". There is also a video/presentation from WWDC13 that discusses this - "Using Receipts to Protect Your Digital Sales"
A complete solution to LOCALLY validate an in-app receipts and bundle receipts on iOS 7