I am trying to use the StoreKit API to get the current App Store‘s region. It can work,but not always right.
if #available(iOS 13, *){
let queue = SKPaymentQueue.default()
if let storefront = queue.storefront {
let countryCode = storefront.countryCode
let identifier = storefront.identifier
print("Country Code: \(countryCode)")
print("Identifier: \(identifier)")
} else {
print("Failed to get storefront information")
}
}
My current account is a China account. The country code and identifier return "CHN" and "143465". It looks right. Then I just change the App Store account (not iCloud) and the new logged-in account is an America account. But the country code and identifier still return "CHN" and "143465". It is incorrect. How can I fix this issue?
Please check if there is any developer account logged in at Settings > App Store > SANDBOX ACCOUNT, this is a separate entity that is referred by StoreKit when app is using sandbox purchases.