In this project, there are in app purchases. I've loaded them into App Store Connect, and they are in the "ready to submit" state. How can I test this in testflight before releasing? the product IDs match whats in the codebase - nz.fastchicken.rucord.tip.coffee, nz.fastchicken.rucord.tip.dinner, nz.fastchicken.rucord.tip.lunch
I'll quickly scan the codebase to see how in‑app purchases are implemented (StoreKit 1 vs 2, any server receipt verification) so I can give you precise TestFlight steps and caveats.
Explored 1 file, 2 web pages, 5 searches
What you can test in TestFlight
Your tip IDs are wired up in code:
- Tip product IDs in TipJar enum are correct:
nz.fastchicken.rucord.tip.coffee/lunch/dinner - Product fetch and purchase via StoreKit 2:
fetchProducts,purchase - Settings screen loads prices and triggers purchases: load in
.task, purchase flow
No server receipt verification is used, so you don’t need to handle sandbox/production endpoints for TestFlight.
TestFlight internal testers (fastest path)
- App Store Connect setup
- Ensure the In‑App Purchase agreement is active (Paid Apps / In‑App Purchases contract).
- Create the three IAPs with pricing and mark “Cleared for Sale.” “Ready to Submit” is fine for internal testing.
- Upload a build and add yourself as an Internal Tester.
- On test device
- Settings > App Store > Sandbox Account: sign in with a Sandbox Tester (Users and Access > Sandbox in App Store Connect). You can keep your normal Apple ID signed into the App Store; only the Sandbox section needs the tester.
- Install via TestFlight, open Settings > Support Development, wait for prices to load, and buy. The sheet will indicate Sandbox; no real charges occur.
TestFlight external testers (requires beta review of IAPs)
- In App Store Connect
- After uploading the build, go to your app > TestFlight > select the build.
- In the build’s details, add the IAPs to test (In‑App Purchases section) and provide Beta App Review info if asked.
- Submit for Beta App Review. Apple must approve the build and IAPs for external testing.
- External testers can then install from TestFlight and purchase; they don’t need sandbox accounts and won’t be charged.
Common gotchas if products don’t appear
- Wait propagation time (can be up to 24 hours after creating IAPs).
- Ensure In‑App Purchase capability is enabled in the target’s Signing & Capabilities.
- Product IDs must match exactly (they do).
- IAPs must have pricing and be Cleared for Sale in the tester’s storefront.
- Contract/tax/banking must be active; otherwise StoreKit won’t return products.
- Bundle ID in the build must match the App Store Connect app.
Optional: local testing without TestFlight
- Add a StoreKit Configuration file in Xcode with those three products.
- Set the scheme to use the StoreKit config and run in simulator or device to test purchases (fully offline/sandboxed).
Quick checklist
- Internal testers: build in TestFlight + Sandbox tester signed in on device → test now.
- External testers: add IAPs to the TestFlight build + submit for beta review → test after approval.
Unlisted
smart
6% of 368k context