I am considering changing my paid iOS
app to be free, making it ad based
, and having an in-app purchase
option to remove the ads.
This sounds like a good idea if I was just launching the app, but we have over 30k paid downloads, and I don't want those users to ever see the ads when they update to the new version which is free.
Do I have any options here?
As of iOS 7, this can be done using proper receipt validation. Under iOS 7 you can obtain a receipt for the purchased app. Part of the data in the receipt includes information about the original purchase version of the app by the user. You can look at that version and if it is from before the release of your update to free with IAP, you can choose to give the user the full functionality without the user needing to purchase the upgrade again.
Of course if you wish your updated app to work under iOS 6, this is not an option.
See the Receipt Validation Programming Guide for details on receipt validation.