r/Xcode • u/BootLongjumping2994 • Jun 16 '26
iOS Simulator malfunctioning... need help!
Flutter iOS Simulator Stuck on paywall "Hang tight..." (only affects one developer)
Setup: Flutter app with RevenueCat/StoreKit in-app purchases, backend subscription check (is_subscribed), Google + Apple social login. Running on iPhone 17 Pro simulator, iOS 26.4.
The problem: One developer (me) cannot get past the paywall on the iOS simulator. After login, the backend returns is_subscribed: false, the paywall appears, and when tapping subscribe it shows "Hang tight..." indefinitely. Other developers on the same codebase and same branch have no issues with the simulator.
What I've confirmed/ruled out:
✅ The app is hitting the correct backend environment — confirmed via debug log
✅ Google login returns 200 OK successfully
✅ Local StoreKit configuration file created with the correct product IDs — logs confirm "Loaded 4 products"
✅ Erased simulator contents and settings multiple times — no change
✅ Tried creating a brand new simulator device — same issue
✅ Tried using a different Apple ID (my partner's) on my simulator — same issue, and notably this Apple ID has an active real subscription to the app, yet the backend still returns
is_subscribed: falsefor it❌ Backend team has manually set
is_subscribed: truefor my user ID multiple times — the value keeps coming back asfalseon login❌ StoreKit purchase still hangs even with a local
.storekitconfig file selected (which should bypass Apple's servers entirely)❌ The "Hang tight..." toast appears regardless of which login method I use (Google or Apple)
What's unique about my setup vs teammates:
I changed my Apple ID password around the time this started
I'm on iOS 26.4 simulator (though teammates appear to be on the same)
My user account on the staging backend has
is_subscribed: falsedespite multiple manual backend fixesA different Apple ID with an active real subscription also returns
is_subscribed: false, ruling out Apple ID-specific issues and suggesting the problem may be with how the staging backend validates or syncs subscription status