admin管理员组

文章数量:1356696

I've set up simple non-consumable in-app purchases (IAPs) for a macOS app. During local testing using a .storekit configuration file, everything works correctly—product names, descriptions, and prices fetch properly, and purchases complete successfully.

However, when testers download the app via TestFlight or when App Review tests it, purchases consistently fail. First, an App Store alert appears stating, "Your account is not valid for use in the U.S. store. You must switch to the German store before purchasing." Following this, the process fails with the error message: "Unable to Complete Request."

Screenshot

Below is the SwiftUI implementation I'm using:

ProductView(id: ProductIDs.unlimited)
    .productViewStyle(.large)
    .onInAppPurchaseCompletion { product, result in
        switch result {
        case .success(let purchaseResult):
            switch purchaseResult {
            case .success(let verification):
                switch verification {
                case .verified(let transaction):
                    store.successfulPurchase = true
                    await transaction.finish()
                case .unverified(_, let error):
                    showAlert(description: error.localizedDescription)
                }
            case .userCancelled, .pending:
                return
            @unknown default:
                return
            }
        case .failure(let error):
            showAlert(description: error.localizedDescription)
        }
    }

My app has been rejected multiple times, and App Store Review hasn't provided any meaningful guidance. The in-app purchases appear to be configured correctly.

While researching solutions, I've found several forum posts describing the same issue, also without any definitive resolution.

When looking fro a solution I've found the following forum posts that pretty much describe the same issue, again, without any meaningful resolution.

More info:

  • Product information (names, descriptions, prices in correct local currency) successfully loads from Apple's servers.
  • All IAPs are configured and priced for all regions in App Store Connect.
  • IAP names and descriptions have US English localization.
  • The status of the IAPs is currently "Ready to Submit."
  • IAP capability is enabled in Xcode.
  • The issue affects all testers regardless of their accounts, machines, or geographical location.
  • Account location settings in App Store settings match the requested store.

本文标签: macosNonconsumable inapp purchase does not work in TestFlight or during App Store reviewStack Overflow