Hi,
I’m a RevenueCat newbie 😺
My app, ShareRaven, covers a gap in the market where Apple macOS devices have no ability natively to share to X/Twitter. Neither are there any apps that I could find that allow this.
The key design question is whether the following is the expected RevenueCat pattern for a backendless macOS app: use Apple sign-in plus Purchases.logIn, then treat the entitlement as the client-side feature gate, while accepting that secure per-customer X API metering would require a separate backend.
Backendless Mac App Store subscription gating for X API posting
I’m building a native macOS app with a Free/Pro model:
- Free users can compose locally, copy text, and open X manually.
- Pro users can connect their X account and post directly through the X API.
- There is no app backend, no customer credit balance, and no per-user API quota.
RevenueCat is used only for subscription and entitlement management:
- The app configures RevenueCat anonymously at launch.
- When a user wants a Pro-only action, they sign in with Apple.
- The app calls
Purchases.logIn(appleUserID)to associate the RevenueCat customer with that Apple identity. - The app reads
CustomerInfo.entitlements.active["ShareRaven Pro"]. - An active entitlement—including a trial—unlocks direct X authorization, media upload, and posting.
- The app uses
Purchases.restorePurchases()for restores andCustomerInfo.managementURLfor subscription management. - On Apple sign-out or credential revocation, the app calls
Purchases.logOut()and removes local Apple/X credentials.
Apple handles the actual subscription payment. RevenueCat tracks and exposes access state; it does not pay the X API bill or meter X usage per customer. X API usage is billed to the developer’s X account, protected for V1 by a global X spending cap.

Everything looks like its right but I’m not sure if I’m using RevenueCat properly. Also do I need to even use RevenueCat ? Would it be easier to just do the subscription directly with Apple or is RevenueCat still simplifying the process ? Any help appreciated ! 🐈
