Paid iOS app to free app with IAP

Hello. I have a couple paid iOS apps and wanted to change these to free apps with in-app purchases.
#1, is this possible? Or once a paid, always a paid?
#2, if this is possible, how is this done? Besides changing the entitlement in Xojo and making any changes to ITC. What I mean by “how” is if someone purchased the app prior to this change to free-IAP, how can it be detected that they already purchased the paid app? User bought last week. Phone gets destroyed, and he gets a new phone. Redownloads today, which is now the free app. Activates his premium content without having to buy again <— how?

If it is not possible to switch paid to free-IAP, then, if I were to create a new app that is free-IAP, how can I identify and allow those who purchased the paid app to “restore purchase” and get the premium content in the free-IAP app?

I’m assuming there is a way in both scenarios to just check the receipt from Apple of the paid app, but I’m not sure how to accomplish this, so any advice would be much appreciated!

If the app were just a buck or two or I didn’t have that many who bought, I wouldn’t be worrying about this much. But I’ve got a couple hundred active users, and they paid quite a bit, so I’m looking to treat them right

I’ve seen apps in the store named XXX and XXX Lite, where the Lite version has an IAP to upgrade it to the full version.

Thanks Art. I was looking to discontinue the paid app and just have the freemium one. This way I don’t have to manage two of the same app. It’s just my concern that if someone buys the paid app and then wants to put it on a new device and only the freemium one is available, then they won’t be stuck with the loss of the app they previously bought

I was thinking if I couldn’t figure this out then to maintain the paid app for a year or so with updates, but drive up the cost to sway people away from buying it and to just get the free-IAP one. Maybe have a message stating so in the description. I assume you need to keep the app for sale if you plan on users still being able to redownload without having to buy again. Cannot remove from sale so no one new buys it, but it’s still there for redownloading purposes, or am I wrong?

I’m pretty sure that if you remove an app, previous users can still redownload it.

That’s what e.g. 1Password has done a couple of years ago.

You can switch a paid app to be free in App Store Connect (starting with a date defined by you).

From what I remember having read, you can check some kind of receipt. The date of purchase is of interest for this situation.
If it’s before the Date when you’re going to switch paid->free, the app doesn’t offer IAP and behaves “fully unlocked”.

From the 1Password story I remember that the downside used to be that one had to install the app via device (in order to have that “receipt” on the device). It wouldn’t be there if installed via iTunes. But that’s pretty much a non-issue nowadays…

Please note: I don’t know how to do that “receipt - reading/handling” with Xojo.
So all I can say is that i think this should be possible. But you’re likely going to have to get/google more information - I hope the info above (receipt, purchase date) is helpful for finding such articles.

As an existing user, I’d certainly prefer that approach and not having to uninstall the previously paid app and download another one later (a free one with IAP, and paying again). However… if the “new app” comes as a “major update” with new features - well, that’s a different story (thinking of Things 2 -> Things 3, Reeder 3 -> Reeder 4) :slight_smile:

I don’t know the semantics of how exactly to do everything, but you can request the receipt through iOSKit and using declares to inspect it.

It seems the validation response from apple would let you do what you want:
https://stackoverflow.com/a/53286406

Reading the receipt file:
https://developer.apple.com/documentation/storekit/in-app_purchase/validating_receipts_with_the_app_store?language=objc