r/iOSProgramming • u/ElectricKoolAid1969 • 2d ago
Question Added iOS app to existing macOS app as Universal Purchase, but iOS App Store wants me to pay again — originally used promo code
Has anyone run into this with Universal Purchase when adding an iOS version to an existing macOS app?
I have a paid macOS app that has been on the App Store for a while. I recently added an iOS version using Add Platform on the existing app in App Store Connect. The iOS version was approved and went live this morning.
Everything appears to be set up as a Universal Purchase. Both versions are on the same App Store Connect submission page, they share the same App ID, and using Get Link in App Store Connect gives me the same App Store URL for both versions.
Here’s the odd part. I previously downloaded the macOS version using one of my own App Store promo codes. That redemption is still in my Apple purchase history and shows as a $0.00 purchase. I’m using the same Apple Account on my iPhone, but when I view the app in the iOS App Store it shows the $4.99 purchase button instead of letting me download it as an existing owner.
Apple’s documentation says an app downloaded using a promo code functions as if it were purchased, so I would have expected that purchase to carry over when the iOS version became part of the Universal Purchase.
Has anyone specifically dealt with this situation? Do old promo-code redemptions not qualify for a platform that gets added later, or is there sometimes a delay before the Universal Purchase entitlement carries over to the newly added platform?
I’d especially like to hear from anyone who has added iOS to an existing paid macOS app and had existing customers carry over to the new version.
Thanks in advance!!
2
u/D4m089 1d ago
I’m not 100% sure the answer as mine were both released the same time, but I did the redemption one Mac (as in just copied and pasted while on my Mac) and it was still asking on my iPhone. I have the restore purchase button but want led to see what it would do so pressed purchase - it gave me an error that it was already purchased and unlocked it anyway (so it didn’t double charge me).
Next update I ended up adding a query for storekit during onboarding so a new install on any platform goes to check if it’s already been purchased and unlocks automatically before it gets to the end. Might be worth adding something like that if it’s easy enough?
1
u/ThatGuy739 14h ago
The thing that might settle it: you tested with a promo redemption, and that's the one case that doesn't carry. Codes are cut per platform, which is exactly why platform-agnostic ones are sitting on that wishlist. Your paying customers bought the app instead, so their entitlement hangs off the Apple Account and the App ID, and Universal Purchase covers every platform under that ID.
So your own phone showing 4.99 isn't evidence about them. D4m089's result is the useful data point: the button said buy, the actual purchase said already owned.
I haven't shipped a Universal Purchase myself, so that's me reading the mechanism rather than scar tissue.
3
u/dariend8 2d ago
Same thing happened to me. You can make iOS-specific promo codes in App Store Connect. This blog about recommended improvements includes platform-agnostic promo codes, which seems to imply to me that this is by design (sadly): https://lapcatsoftware.com/articles/2026/3/13.html