Subscription unavailable

When my app tries to access a subscription, StoreKit's products(for:) always returns zero results. Similarly, SubscriptionStoreView always shows "Subscription Unavailable" followed by "The subscription is unavailable in the current storefront".

The app is a watch-only app (no iPhone companion app).

The app and the subscription product were each approved in App Store Connect over two weeks ago.

The problem occurs when the app is installed from TestFlight, when the app is installed from the App Store (production), and when run in the Xcode debugger. The only time the app successfully accesses the subscription when simulating it in Xcode with a .storekit file.

How should my app access the subscription?

Repro:

  • App Store bundle ID: com.toolsay.hoopref
  • Phone app target (unused) bundle ID: com.toolsay.hoopref
  • Watch app bundle ID: com.toolsay.hoopref.watchapp
  • Subscription product ID: com.toolsay.hoopref.pro.annual
  • Subscription availability: All countries and regions
  • App Store listing
let products = try await Product.products(for: ["com.toolsay.hoopref.pro.annual"])

products.count is 0.

Subscription unavailable
 
 
Q