Date: 2025-11-12 Status: ✅ FIXED
RevenueCat was failing to fetch products with error:
There is an issue with your configuration. None of the products registered
in the RevenueCat dashboard could be fetched from App Store Connect (or the
StoreKit Configuration file if one is being used).
The Xcode scheme was pointing to the WRONG StoreKit configuration file.
Scheme file location:
apps/ios/LogYourBody.xcodeproj/xcshareddata/xcschemes/LogYourBody.xcscheme
Incorrect StoreKit reference (line 77-79):
<StoreKitConfigurationFileReference
identifier = "../../../../../../../../Library/Developer/Xcode/DerivedData/LogYourBody-andvtxgbkkjzbydambbpvmldnenp/SourcePackages/checkouts/purchases-ios/Examples/rc-maestro/rc-maestro/Resources/StoreKit/StoreKitConfiguration.storekit">
</StoreKitConfigurationFileReference>This was pointing to:
- RevenueCat's example app StoreKit configuration
- Located in:
DerivedData/.../purchases-ios/Examples/rc-maestro/... - Contains RevenueCat's demo products, NOT your LogYourBody products
When you use RevenueCat's SDK and test in Xcode, if you:
- Open RevenueCat's example project to learn how it works
- Then return to your project
- Xcode sometimes "helpfully" keeps the StoreKit config from the example
This is a common gotcha with Xcode's StoreKit testing.
Updated the scheme to point to the correct StoreKit configuration:
Correct StoreKit reference:
<StoreKitConfigurationFileReference
identifier = "../LogYourBody.storekit">
</StoreKitConfigurationFileReference>Now points to:
- Your LogYourBody.storekit file
- Located at:
apps/ios/LogYourBody.storekit - Contains YOUR subscription products:
com.logyourbody.app.pro.annual.3daytrial($79.99/year, 3-day trial)com.logyourbody.app.pro.monthly.3daytrial($9.99/month, 3-day trial)
When you run the app now in Xcode, you should see:
💰 Configuring RevenueCat SDK
💰 RevenueCat SDK configured successfully
✅ SDK marked as configured
💰 Identifying user: user_xxxxx
[DEBUG] - Purchases - v5.x.x - GET purchases_v5 200
💰 Customer info updated
💰 Fetching offerings
[DEBUG] - Purchases - v5.x.x - GET subscribers/user_xxx/offerings 200
💰 Fetched 1 offerings
💰 Current offering: Default
💰 Available packages: 2
📦 Package: $rc_annual
Price: $79.99
Product: com.logyourbody.app.pro.annual.3daytrial
📦 Package: $rc_monthly
Price: $9.99
Product: com.logyourbody.app.pro.monthly.3daytrial
- Loading indicator (brief)
- "3-DAY FREE TRIAL" badge ← Should now appear!
- Price card showing "$79.99 / year"
- Subtext: "Just $5.75 per month, billed annually"
- "Start Free Trial" button ← The button should now appear!
- "Restore Purchases" link
Fixed isConfigured flag being set asynchronously
Added fallback logic to show any available package
Verified all RevenueCat dashboard configuration via API
Added missing REVENUE_CAT_API_KEY entry to Info.plist
Fixed Xcode scheme to point to LogYourBody.storekit
- Open Xcode
- Product → Scheme → Edit Scheme (⌘<)
- Select Run → Options tab
- Verify StoreKit Configuration shows:
LogYourBody.storekit✅
If it shows anything else or is blank, select LogYourBody.storekit from the dropdown.
Best Practices:
-
Always check scheme StoreKit configuration when:
- Cloning the project
- Switching between projects
- After opening example apps
-
Verify the configuration points to YOUR storekit file, not:
- Example project configs
- DerivedData paths
- Absolute paths to other projects
-
Keep
LogYourBody.storekitin the same directory as your xcodeproj
- StoreKit Config: LogYourBody.storekit
- Xcode Scheme: LogYourBody.xcscheme
- RevenueCat Manager: RevenueCatManager.swift
- Paywall View: PaywallView.swift
- Previous Fixes: REVENUECAT_FIX_SUMMARY.md
The RevenueCat integration should now work correctly! 🎉
Both critical issues are now resolved:
- ✅ API key properly passed to runtime (Info.plist fix)
- ✅ StoreKit configuration pointing to correct file (Scheme fix)