Hi,
Thanks for your blog post: Converting a Paid iOS App to Subscriptions. It was very helpful! I have a few follow-up questions:
-
Is all the code and information in the post still up to date after a few years?
-
Regarding the
syncIfNeeded
function: it checks the info returned from RevenueCat, and if that fails and a receipt exists, it attempts to sync. But what happens if the receipt doesn't exist, or syncing isn’t sufficient? Is that a possible scenario? How should we handle users in that situation? -
In such cases, should we fall back to calling
restorePurchases
, which might trigger the system sign-in prompt? The article doesn’t mention this.
Also, I noticed that appStoreReceiptURL
is now deprecated, and Apple recommends using the AppTransaction
API. I've tried this in my app, but in some cases, I can't access the original app version or purchase date unless I explicitly call AppTransaction.refresh()
, which often causes a sign-in prompt. This seems similar to RevenueCat’s restorePurchases()
, right?
So with Apple’s native SDK, there seem to be cases where retrieving the original purchase data requires prompting the user to sign in.
Does RevenueCat handle this better? For example, is a receipt always available (even if outdated), which would still allow access to original purchase data?
Or am I essentially in the same situation, where some users will inevitably need to go through restorePurchases
/ AppTransaction.refresh()
and sign in to Apple?
Thanks again!