SKPaymentQueue.default().storefront?.countryCode returns "USA" only in TestFlight

Hi everyone,

I'm encountering an issue where the storefront country code returns "USA" unexpectedly in TestFlight builds, and I'd appreciate any insights from the community.

Issue Description

When executing SKPaymentQueue.default().storefront?.countryCode in our TestFlight builds, the property returns USA. However, we expect it to return JPN because both the Sandbox test user account and the Apple Account region configured on the device are set to Japan.

Behavior Across Environments

  • Xcode Debug & Ad Hoc Builds: Returns JPN as expected.
  • TestFlight Builds: Returns USA unexpectedly.

Related Threads

I've noticed several threads reporting similar issues without a clear resolution:

Questions

  1. Is this USA value a known TestFlight/Sandbox-specific limitation or bug?
  2. Will production users in Japan correctly receive JPN (and see JPY prices) once the app is approved and published on the App Store?
  3. Is there any workaround or project configuration fix required on our side prior to App Store submission?

Has anyone experienced this recently or confirmed the behavior in the production environment after release?

Thanks!

SKPaymentQueue.default().storefront?.countryCode returns "USA" only in TestFlight
 
 
Q