StoreKit 2: `try await Product.products` does not finish and does not throw. Can watchOS fetch products on TestFlight builds? iOS works

I am using a class that targets both my iOS as well as my watchOS target - so both use the same code.

If I upload my code to TestFlight, my iPhone is able to fetch the products just fine. However, with my Apple Watch, the process seems to stall.

I have implemented a log stream so that I can gather log output in TestFlight builds (where Xcode is not attached). This is my code:

do {
	log("1")	// reaches statement on iPhone, reaches statement on Watch

	let storeProducts = try await Product.products(for: productIDs)

	log("2")	// reaches statement on iPhone, DOES NOT reach statement on Watch
	
} catch {
    log("3")	// does not get called on Watch either
}

Now unless I misinterpret the log statements, it looks like try await Product.products(for: productIDs) neither returns, nor throws. I have kept open my ViewController for minutes but there is no progress.

My situation right now is the following:

I have an app live that employs SwiftyStoreKit. This however breaks on iOS 16 so we are now moving over to StoreKit (2) for iOS 16 and watchOS 9 devices (older versions will stay on SwiftyStoreKit). Publishing a release without verifying in TestFlight is very risky so I am hoping someone can confirm that this is an issue with StoreKit 2 that TestFlight versions cannot fetch products in watchOS. However I cannot find any information from Apple or in any forum on this.

We have also tried implementing the purchases via RevenueCat which also threw some weird errors (like this one https://community.revenuecat.com/sdks-51/receipt-is-missing-when-trying-to-purchase-via-testflight-1491) especially on watchOS. The Sandbox and TestFlight environments are known to be very buggy but it's a huge risk now to push an update without being able to confirm that it actually works at least once.

Weirdly enough, with SwiftyStoreKit I can still see all my purchases in TestFlight which makes me think that the issue is on StoreKit 2's side - as SwiftyStoreKit still uses StoreKit 1 but without any other information on this that's purely speculation. So I'm hoping someone has ran into the same issue and knows more than I do.

You should be able to fetch products on watchOS via TestFlight. If the issue persists, please file a bug via Feedback Assistant, attach sysdiagnose and share ticket number FB# here. Thank you!

StoreKit 2: `try await Product.products` does not finish and does not throw. Can watchOS fetch products on TestFlight builds? iOS works
 
 
Q