Skip to content

Conversation

@ajpallares
Copy link
Contributor

@ajpallares ajpallares commented Feb 9, 2026

Motivation

The RCT Tester app needs more comprehensive coverage of RevenueCat SDK APIs to allow manual testing of how attribution data is sent under different integrations.

Description

  • Restore purchases: Added a "Restore Purchases" button that uses the appropriate restore mechanism for each PurchaseManager mode (RC's restorePurchases(), SK1's restoreCompletedTransactions(), or SK2's AppStore.sync()).
  • Purchase package vs. purchase product: When purchases go through RevenueCat, the purchase button now opens a menu to choose between purchase(package:) and purchase(product:).
  • Paywall presentation options: The "Present Paywall" button is now a menu offering .presentPaywall, .presentPaywallIfNeeded (with an entitlement picker sourced from CustomerInfo.entitlements.all), and direct PaywallView.
  • StoreView / SubscriptionStoreView: Added buttons to present StoreView.forOffering and SubscriptionStoreView.forOffering (iOS 17+), with a warning icon and alert when configured with StoreKit 1.

Other changes

  • Navigation bar configure button: The "Configure SDK" button now also appears in the navigation bar when reconfiguring.
  • SK1 manager cleanup: ObserverModeStoreKit1PurchaseManager now properly cancels in-flight purchase/restore handlers on deinit.
Restore button Purchase package/product
image image
New StoreView actions Present paywall options
image image

|

For the .presentPaywallIfNeeded API:

Entitlement selection View with .presentPaywallIfNeeded call
image image

|

ajpallares and others added 8 commits February 9, 2026 10:24
…mode (#6233)

* Cache presentedOfferingContext when making a purchase from a paywall

* Avoid using stale cached presentedOfferingContext

Co-authored-by: Cursor <[email protected]>

* Only remove cached context when date check passes

* Include productId in cancel events and add tests

* Add log

* One more test

* More tests

* fix warning

* Fix compilation

* Fix integration test compilation for SPI import

Co-authored-by: Cursor <[email protected]>

* Include paywall and offering context in SK2 transaction listener

* Improve comment

* More tests

---------

Co-authored-by: Cursor <[email protected]>
@RevenueCat-Danger-Bot
Copy link

RevenueCat-Danger-Bot commented Feb 9, 2026

1 Warning
⚠️ Please keep RevenueCat.xcodeproj in sync with Tuist-generated changes.

The following Swift files were added but don't appear to be included in RevenueCat.xcodeproj:
• Tests/TestingApps/RCTTester/RCTTester/Sources/Views/PresentPaywallIfNeededView.swift

If you've changed files using the tuist project, make sure those changes are added to RevenueCat.xcodeproj, or double-check if they should be excluded.

Generated by 🚫 Danger

@ajpallares ajpallares force-pushed the pallares/rct-tester-app-4 branch from a49ef6a to 740eb43 Compare February 10, 2026 19:30
@ajpallares ajpallares changed the base branch from main to pallares/rct-tester-app-3 February 10, 2026 19:30
@ajpallares ajpallares changed the title RCT Tester app Part 4 - RCT Tester app Part 4 - Add more APIs and features to the RCT Tester app Feb 10, 2026
@ajpallares ajpallares marked this pull request as ready for review February 10, 2026 19:48
@ajpallares ajpallares requested review from a team as code owners February 10, 2026 19:48
@claude
Copy link

claude bot commented Feb 10, 2026

Code review

No issues found. Checked for bugs and CLAUDE.md compliance.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants