Skip to main content
Question

Capacitor + React, iOS] configure() never resolves — zero native SDK logs, no "To Native → Purchases" (plugin not registering?)

  • July 25, 2026
  • 0 replies
  • 7 views

Forum|alt.badge.img

Setup: React 18.3 + Capacitor 8.3 iOS app. @revenuecat/purchases-capacitor 12.3.2, installed via Swift Package Manager (RevenueCat 5.67.1 / PurchasesHybridCommon 17.55.1). Running directly on a physical device from Xcode (iOS 26.5, Xcode 26.5) — not just TestFlight.

Problem: Purchases.configure() is called at launch and never resolves — no success, no error, ever. The subscribe button hangs on "Processing…" forever.

The key clue: I set setLogLevel(LOG_LEVEL.VERBOSE) before configure, and the RevenueCat SDK prints absolutely nothing in the Xcode console. The Capacitor bridge clearly works for other plugins — I see To Native → LocalNotifications — but there is never a To Native → Purchases line for any RevenueCat call. So calls to the Purchases plugin don't seem to reach native at all.

Already ruled out (from my actual code):

  • Not a purchases-js + purchases-capacitor clash — I only have purchases-capacitor, imported in one file.
  • Not the Vue reactive-Proxy issue — I'm on React, and my hang is at configure() (plain string arg), not purchasePackage.
  • API key is the correct appl_ public key (verified baked into the built bundle).

Already tried: Clean Build Folder, Reset Package Caches, full clean rebuild + npx cap sync ios. No change.

My hypothesis: the native Purchases plugin isn't registering in my SPM build, so it's silently falling back to the web implementation, which just spins. Does that fit? What's the right way to confirm/fix native plugin registration for purchases-capacitor under SPM?