Limits of Xcode StoreKit Testing vs App Store Sandbox for subscription flows
0 reputation · 08 Oct 2024, 08:04 UTC
I'm designing the purchase-testing strategy for an iOS app with auto-renewable subscriptions and want to rely on Xcode's local StoreKit Testing (a .storekit configuration file attached to the scheme) for as much coverage as possible, reserving the App Store Sandbox with sandbox Apple IDs for what genuinely needs Apple's servers.
My understanding is that the local configuration supports accelerated subscription time and works with StoreKitTest (SKTestSession) in XCTest, all without production credentials. What is unclear is where the boundary sits: local testing apparently does not exercise App Store Server Notifications, server-side receipt validation, or family-sharing/ask-to-buy flows, and I cannot find a definitive statement of which renewal, billing-retry, and grace-period behaviors are faithfully simulated locally versus only in sandbox.
Specifically:
- Which subscription lifecycle events (billing retry, grace period, revocation) cannot be reproduced with a local .storekit file and require the sandbox environment?
- Can SKTestSession-driven tests be trusted as CI coverage for renewal logic, or do they diverge from sandbox behavior in documented ways?
- Are there Xcode-version differences in StoreKit Testing capabilities that should pin a minimum toolchain version for the team?