storekit-macos

Implement StoreKit 2 in-app purchases and subscription management for macOS 26+ apps.

1|Updated Jun 5, 2026
One-click install
npx skills add https://github.com/LaughingJackalope/macos-skills --skill storekit-macos
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: storekit-macos
Source: https://github.com/LaughingJackalope/macos-skills/tree/main/storekit-macos
Command: npx skills add https://github.com/LaughingJackalope/macos-skills --skill storekit-macos

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

macOS developers face unique challenges implementing in-app purchases and subscriptions with StoreKit 2, including platform-specific transaction handling for interrupted purchases, sandbox testing limitations compared to iOS, receipt validation differences between App Store and Developer ID distribution, and SwiftUI UI component integration quirks.

Core Features & Use Cases

  • End-to-end StoreKit 2 implementation patterns: Complete code for product fetching, purchase flows, transaction listening, content delivery, and subscription status checking tailored to macOS 26+.
  • macOS-specific platform guidance: Covers AppStore.sync() for restore flows, SKOverlay integration, Developer ID distribution constraints, and sandbox testing setup without the SKTestSession API available on iOS.
  • Production-ready guardrails: Includes subscription state machines for all renewal states, revocation and expiration handling, server-side receipt validation patterns, and a comprehensive review checklist to avoid common implementation mistakes.
  • Use Case: A macOS productivity app developer can use this skill to implement a tiered subscription model with monthly, yearly, and lifetime options, handle Ask-to-Buy flows for family accounts, and test purchases in Xcode sandbox before TestFlight release.

Quick Start

Use the storekit-macos skill to implement in-app purchases and subscription management for your macOS app, following the provided StoreKit 2 code patterns and macOS-specific best practices.

Frequently Asked Questions about storekit-macos

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement StoreKit 2 subscriptions in a macOS SwiftUI app?

Implement StoreKit 2 subscriptions in a macOS SwiftUI app by fetching products, initiating purchase flows, listening to transactions in real-time, and integrating SwiftUI store UI components. This handles the complete subscription lifecycle including renewals and expirations.

How does receipt validation differ between App Store and Developer ID distribution for macOS?

Receipt validation differs significantly between App Store and Developer ID distribution on macOS. StoreKit 2 uses server-side JWS receipt validation patterns to handle these platform-specific differences and verify transaction authenticity securely.

Can I test in-app purchases and subscriptions in the Xcode sandbox without the SKTestSession API?

Yes, you can test in-app purchases in the Xcode sandbox without the SKTestSession API, which is unavailable on macOS. The skill provides specific macOS sandbox testing configuration guidance to validate purchase flows before TestFlight release.

How do I handle interrupted purchases and Ask-to-Buy flows in a macOS application?

Handle interrupted purchases and Ask-to-Buy flows in a macOS application using StoreKit 2 transaction handling. This includes managing family account purchase requests and ensuring content delivery resumes correctly after transaction interruptions.

What is the best way to track subscription renewal states and revocations on macOS?

Track subscription renewal states and revocations on macOS using a subscription state machine. StoreKit 2 provides real-time transaction listening to manage all lifecycle states including active, expired, and revoked subscriptions.

Does StoreKit 2 support Family Sharing and AppStore.sync() restore flows on macOS?

Yes, StoreKit 2 supports Family Sharing handling and AppStore.sync() restore flows on macOS. These features ensure users can restore previous purchases and share subscription entitlements across family members correctly.