9.8 C
Canberra
Friday, June 19, 2026

RevenueCat choices empty — StoreKit returns no merchandise for READY_TO_SUBMIT subscription on each simulator and actual gadget (Flutter/iOS)


I am integrating RevenueCat right into a Flutter iOS app. Choices all the time fail to load no matter whether or not I check on simulator or an actual gadget. StoreKit receives a response however returns no merchandise.

Atmosphere:

  • purchases_flutter: ^10.2.2 (RC SDK 5.76.0)

  • Flutter 3.x, iOS goal

  • Product ID: my_product (auto-renewable month-to-month subscription)

  • App Retailer Join standing: READY_TO_SUBMIT

  • RC dashboard: default providing configured, my_product mapped to my_product entitlement

Error:

No current merchandise cached, beginning retailer merchandise request for: ["my_product"]
Retailer merchandise request acquired response
Retailer merchandise request completed
Error fetching choices - The operation could not be accomplished.
(RevenueCat.OfferingsManager.Error error 1.)
There's an issue together with your configuration. Not one of the merchandise registered
within the RevenueCat dashboard may very well be fetched from App Retailer Join
(or the StoreKit Configuration file if one is getting used).

RC well being report warning:

my_product (Professional Month): This product's standing (READY_TO_SUBMIT) requires you
to take motion in App Retailer Join earlier than utilizing it in manufacturing purchases.

Initialization code (most important.dart):

await PurchaseService.occasion.init(
  userId: FirebaseAuth.occasion.currentUser?.uid,
);
Future init({String? userId}) async {
  await Purchases.setLogLevel(kDebugMode ? LogLevel.debug : LogLevel.error);
  closing config = PurchasesConfiguration(AppConfig.revenueCatIosApiKey);
  if (userId != null) config.appUserID = userId;
  await Purchases.configure(config);
}

Fetch code:

Future fetchCurrentOffering() async {
  attempt {
    closing choices = await Purchases.getOfferings();
    return choices.present;
  } on PlatformException catch (e) {
    debugPrint('[PurchaseService] fetchCurrentOffering error: ${e.message}');
    return null;
  }
}

What I’ve tried:

  1. Simulator (iOS 18) — Added a .storekit config file with sl_pro registered, added the file reference to undertaking.pbxproj, set StoreKitConfigurationFileReference within the Run scheme. StoreKit nonetheless returns an empty merchandise response.

  2. Simulator (iOS 26 beta) — Similar outcome.

  3. Actual gadget (iOS 26 beta) — Log confirms Not utilizing a simulator. Similar empty response from StoreKit.

The RC server name succeeds (HTTP 200), accurately returns ["my-product"] because the product to fetch, then StoreKit returns empty.

Query:

  • Does a READY_TO_SUBMIT product work within the Apple sandbox atmosphere on an actual gadget, or does it want to succeed in a minimum of Ready for Overview standing earlier than StoreKit can discover it?

  • For the simulator .storekit config method in Flutter — does flutter run correctly apply the Xcode scheme’s StoreKit configuration, or does it should be configured in a different way?

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

[td_block_social_counter facebook="tagdiv" twitter="tagdivofficial" youtube="tagdiv" style="style8 td-social-boxed td-social-font-icons" tdc_css="eyJhbGwiOnsibWFyZ2luLWJvdHRvbSI6IjM4IiwiZGlzcGxheSI6IiJ9LCJwb3J0cmFpdCI6eyJtYXJnaW4tYm90dG9tIjoiMzAiLCJkaXNwbGF5IjoiIn0sInBvcnRyYWl0X21heF93aWR0aCI6MTAxOCwicG9ydHJhaXRfbWluX3dpZHRoIjo3Njh9" custom_title="Stay Connected" block_template_id="td_block_template_8" f_header_font_family="712" f_header_font_transform="uppercase" f_header_font_weight="500" f_header_font_size="17" border_color="#dd3333"]
- Advertisement -spot_img

Latest Articles