Can you create an IAP that is free/built-in for existing users?

One of my Apps uses a collection of data for musicians. I want to make the bulk of that data be an IAP now that it has grown to a decent size, but I don't want to take anything away from existing users. I have a theory but I wanted to check first.


I was thinking or creating a userDefault like a boolean called existingUser or whatever.

Then make that apart of a new update for like a week so just about everyone has a chance to update.

Then remove the code in a second update so new users don't have that boolean value stored but the old users do.

For the premium feautres to function it will check for the IAP only if the boolean value for existingUser is false.


Seems like that should work fine right?


I'm sure someone has done something like this before.

The accepted technique is to examine the app receipt for the field original_application_version


https://developer.apple.com/library/content/releasenotes/General/ValidateAppStoreReceipt/Chapters/ReceiptFields.html#//apple_ref/doc/uid/TP40010573-CH106-SW2


Your existing users will have a value for this field that is a Build number (not a version number!!!) of your currently existing versions. All new versions should have build numbers that are differentiateable from all of the earlier build numbers (e.g. all builds from now on are 3.x.y).


No other methods are as good as this one.

Can you create an IAP that is free/built-in for existing users?
 
 
Q