CheckpointTester
CheckpointTester is a Tuist-generated example for the experimental checkpoint APIs.
The app demonstrates how application behavior can respond to checkpoint results:
- configuring
Purchases; - keeping premium content locked unless a checkpoint returns purchased or restored;
- presenting a soft paywall without blocking its content;
- completing an onboarding flow regardless of the checkpoint result;
- skipping a checkpoint when
CustomerInfoalready contains an active entitlement; - exercising deterministic no-action and error results;
- setting or unsetting subscriber attributes used by checkpoint rules;
- editing custom checkpoint properties and displaying a live analytics event log.
Use the person button in any tab's navigation bar to set or unset one subscriber attribute. The attributes are part of the checkpoint rule evaluation scope, so this can change which rule matches without rebuilding the app. Unsetting passes an empty string, which is how the iOS SDK deletes an attribute.
The generated app shares PaywallsTester's bundle identifier and Products.storekit configuration so it can use
the same local in-app purchase products and RevenueCat project.
Generate the project from the repository root:
TUIST_RC_API_KEY=appl_your_key \
tuist generate CheckpointTester --no-open
The app configures RevenueCat before showing its root screen, so generation requires a valid public
iOS API key. The app explicitly imports RevenueCatUI's experimental Checkpoints SPI; regular SDK consumers do
not see this API surface.