IAP, wrong priceLocale

My devices are connected to the german app store. The current version of our app in the AppStore with IAP shows prices in €, that's correct. But when I create a new version of the app and let it run on a device with iOS 14, prices are in $.

On another device with iOS 13, prices are in €. I updated the iOS 13 device to iOS 14 and now I have the same issue on this device. Prices in $.

I printed current locale before call to the app store, and it's deDE (current).
priceLocale of the fetched products is en
US@currency=USD (fixed).
I have no idea how to fix it.
Answered by hakkib in 641360022
I installed my app through TestFlight. At first it again displayed only in USD. But when I tried the restore option of my app, and after entering Apple ID credentials (although the version in App Store does not ask for credentials if I have already signed in through settings) it displayed the correct currency. Interesting is that after uninstalling both the TestFlight version and the TestFlight app itself, running the app through Xcode 12 also displayed the correct currency.
Somehow the problem seems solved in my case.

I am experiencing the same behaviour on MacOS 12 beta (21A5304g) even when using TestFlight for MacOS v. 3.2.0 (i.e. not only when run locally).

The .price value sent by AppStore is in CZK (based on recalculation from what is set in $ in the AppStoreConnect) but .priceLocale is in £:

Printing description of $R8: ▿ en_GB (fixed)  - identifier : "en_GB"  - kind : "fixed"

In the previous MacOS beta version, it worked after 2nd fetch (so fetching it twice helped).

In MacOS Settings/Language & Region, I have 2 preferred languages: English Czech

I use English keyboard. When I switch to Czech and refetch the record, nothing changes (still in £).

Can I presume that .price sent by AppStore >always< corresponds to Locale.current.currencySymbol as hinted above by "Developer Tools Engineer "?

Thank you.

When I reboot my iPhone and MacBook , the problem is fixed

IAP, wrong priceLocale
 
 
Q