StoreKit handles in-app purchases, subscriptions, and App Store transactions across iOS, macOS, tvOS, watchOS, and visionOS. You query the products you offer with SKProductsRequest and inspect the returned SKProduct and its SKProductDiscount and SKProductSubscriptionPeriod, then submit an SKPayment to the SKPaymentQueue and track each SKPaymentTransaction through its SKPaymentTransactionState by observing the queue. The framework also supports receipt refreshes through SKReceiptRefreshRequest, App Store review requests with SKStoreReviewController, promotional overlays via SKOverlay, and the SKAdNetwork types for measuring ad-driven installs.
Essentials 6
The modern Swift entry points for querying products, purchasing, and reading the App Store environment.
- StProductiOS 15.0+Information about a product configured in App Store Connect.
- StTransactioniOS 15.0+Represents signed transaction information for a purchase.
- StAppTransactioniOS 16.0+Represents signed transaction information for an app purchase.
- EnAppStoreiOS 15.0+Contains properties and methods to facilitate interactions between your app and the App Store.
- StStorefrontiOS 15.0+An App Store storefront.
- StPurchaseIntentRepresents a user's intent to purchase a product. This is created when the user starts a product promotion buy from the App Store.
Products and Pricing (Original API) 6
The original StoreKit objects describing purchasable products, discounts, and subscription periods.
- ClSKProductAn object that describes a product available for purchase from the App Store.
- ClSKProductDiscountAn object that describes a promotional or introductory price offer for a product.
- ClSKProductSubscriptionPeriodAn object that describes the duration and unit of an auto-renewable subscription period.
- ClSKProductsRequestA request that retrieves localized product information from the App Store for a set of identifiers.
- ClSKProductsResponseAn object that contains the products and invalid identifiers returned from a products request.
- PrSKProductsRequestDelegateA protocol that receives the response from a products request.
Payments and the Payment Queue 9
The original API for submitting payments and tracking transactions through the payment queue.
- ClSKPaymentAn object that represents a request to the App Store to process payment for a product.
- ClSKMutablePaymentA mutable request to process payment, letting you configure the product, quantity, and discount.
- ClSKPaymentDiscountAn object that signs and represents a promotional offer applied to a subscription payment.
- ClSKPaymentQueueAn object that manages payment requests and communicates with the App Store to process transactions.
- ClSKPaymentTransactionAn object that records the processing of a payment in the payment queue.
- EnSKPaymentTransactionStateConstants that indicate the current state of a payment transaction in the queue.
- PrSKPaymentQueueDelegateA protocol that manages payment-queue behavior such as storefront changes and entitlement checks.
- PrSKPaymentTransactionObserverA protocol that responds to updates in the payment queue's transactions and downloads.
- ClSKDownloadAn object that represents downloadable hosted content associated with a purchased product.
Requests and Receipts 3
Base request infrastructure and receipt-refresh support for the original StoreKit API.
- ClSKRequestAn abstract base class for requests sent to the App Store.
- PrSKRequestDelegateA protocol that responds to the completion or failure of a StoreKit request.
- ClSKReceiptRefreshRequestA request that refreshes the App Store receipt stored on the device.
Store Promotion and Merchandising 8
Controllers and types for promoting products, displaying store pages, and presenting overlays.
- ClSKStoreProductViewControlleriOS 6.0+A view controller that presents an App Store product page from within your app.
- PrSKStoreProductViewControllerDelegateiOS 6.0+A protocol that responds to the dismissal of a store product view controller.
- ClSKProductStorePromotionControllerAn object that controls the visibility and ordering of products promoted on the App Store.
- ClSKOverlayiOS 14.0+An object that presents an overlay recommending another app from within your app.
- PrSKOverlayDelegateiOS 14.0+A protocol that responds to events from an app-recommendation overlay.
- ClSKStorefrontAn object that describes the App Store storefront serving the user's account.
- StAppStoreMerchandisingKindA merchandising kind to display in a merchandising view.
- StIdentifiedStoreContentiOS 18.0+You don't use this type directly. Instead, StoreKit uses this type to transform your store's content into a
Reviews and Messages 2
Types for requesting App Store reviews and presenting App Store messages to customers.
- ClSKStoreReviewControllerController class to request a review from the current user
- StMessageA message to be displayed.
Subscription Store Views 17
SwiftUI configuration types that customize the layout, controls, and styling of subscription store views.
- PrSubscriptionOptionGroupStyleiOS 18.0+A type that specifies the appearance and interaction of a nested groups of subscription options.
- StAutomaticSubscriptionOptionGroupStyleiOS 18.0+The automatic subscrption option group style, based on the group's context.
- StLinksSubscriptionOptionGroupStyleiOS 18.0+A subscription option group style which displays the first subgroup's content along with links to navigate to
- StTabsSubscriptionOptionGroupStyleA subscription option group style which displays a tab view containing tabs for each subgroup.
- StSubscriptionOptionGroupStyleOutputiOS 18.0+You don't use this type directly. Instead, StoreKit uses this type internally to understand what appearance
- PrSubscriptionStoreControlPlacementiOS 18.0+A type that describes the placement of subscription controls in a subscription store view.
- StAutomaticSubscriptionStoreControlPlacementiOS 18.0+The system-defined placements of a subscription store view.
- StSubscriptionStoreControlPlacementKeyiOS 18.0+The system-defined placements of subscription controls in a subscription store view.
- StSubscriptionStoreControlStyleConfigurationiOS 17.0+The properties of a subscription store control.
- StSubscriptionStoreControlBackgroundThe background layer below the subscribe controls, and above any background in an in-app subscription
- StSubscriptionStoreButtonLabelThe label of a subscribe button used by a subscription store view.
- StSubscriptionStorePolicyKindiOS 17.0+A value that describes a link style button to a subscription policy.
- StSubscriptionOfferViewButtonKindA structure that identifies a kind of button presented in a subscription offer view.
- StSubscriptionOfferViewStyleConfigurationA structure that provides the properties used to style a subscription offer view.
- StProductViewStyleConfigurationiOS 17.0+The properties of a product view.
- EnProductIconPhaseiOS 17.0+The current phase of the asynchronous loading operation of the promotional image for
- StStoreButtonKindiOS 17.0+A kind of button managed by a store view or subscription store view.
External Purchases and Links 7
Types that support purchases and account links outside the App Store in-app purchase system.
- EnExternalPurchaseiOS 15.4+An enumeration that provides support for processing purchases outside the App Store in eligible regions.
- EnExternalPurchaseCustomLinkiOS 18.1+An enumeration that provides support for presenting custom links to external purchase options.
- EnExternalPurchaseLinkiOS 15.4+An enumeration that provides support for presenting links to external purchase websites.
- EnExternalLinkAccountAn enumeration that provides support for linking to an external account outside the App Store.
- StAdvancedCommerceProductiOS 18.4+A structure that represents a product managed through the Advanced Commerce API for custom catalogs.
- StPaymentMethodBindingBinds a third-party payment method to a user's App Store account.
- StRedeemOptionAn option that customizes the behavior of an offer code redemption.
Cloud Service and Music 9
Controllers and types for checking Apple Music cloud-service capability and presenting setup flows.
- ClSKCloudServiceControllerAn object that requests the capabilities and storefront identifier of the user's Apple Music account.
- StSKCloudServiceCapabilityAn option set that describes the music capabilities available for the user's cloud service account.
- EnSKCloudServiceAuthorizationStatusConstants that indicate whether the user has authorized access to their cloud service account.
- ClSKCloudServiceSetupViewControllerA view controller that presents a flow for setting up the user's Apple Music subscription.
- PrSKCloudServiceSetupViewControllerDelegateA protocol that responds to the dismissal of a cloud service setup view controller.
- StSKCloudServiceSetupOptionsKeyConstants that specify keys for configuring the cloud service setup flow.
- StSKCloudServiceSetupActionConstants that specify the action to perform when presenting the cloud service setup flow.
- StSKCloudServiceSetupMessageIdentifierConstants that identify which message to present during cloud service setup.
- ClSKArcadeServiceiOS 13.0+A class that provides Apple Arcade subscription and registration information for the current account.
Ad Network Attribution 3
Types for measuring ad-driven app installs through the StoreKit Ad Network.
- ClSKAdNetworkiOS 11.3+A class that validates advertisement-driven app installations for the StoreKit Ad Network.
- ClSKAdImpressioniOS 14.5+An object that describes a view-through or click-through ad impression reported to the App Store for install attribution.
- StSKANErroriOS 15.4+A structure that describes errors produced by the StoreKit Ad Network.
Entitlements and Downloads 2
Supporting types for tracking entitlement processing and downloadable content delivery.
- EnEntitlementTaskStateiOS 17.0+The state of an entitlement task.
- PrStoreDownloaderExtensionAn app extension that uses the system implementation to schedule Apple-hosted asset-pack downloads automatically.
Errors 3
Error types reported by the StoreKit and modern Swift StoreKit APIs.
- EnStoreKitErroriOS 15.0+Generic StoreKit Errors.
- StSKErroriOS 3.0+A structure that describes errors returned by the original StoreKit payment APIs.
- StInvalidRequestErroriOS 18.4+A structure that describes an error caused by a malformed or unsupported StoreKit request.
Structures 34
- StAutomaticProductPlaceholderIconiOS 17.0+A view representing the automatic placeholder icon for a product view.
- StAutomaticProductViewStyleiOS 17.0+The automatic product view style, based on the view's context.
- StAutomaticSubscriptionOfferViewStyle
- StAutomaticSubscriptionOptionGroupLabeliOS 18.0+A view representing the default label for a subscription option group.
- StAutomaticSubscriptionStoreControlStyleiOS 17.0+The default subscription store control style, choosing a standard style automatically based on the view's
- StAutomaticSubscriptionStoreMarketingContentiOS 17.0+A view representing the default marketing content for a subscription store view.
- StAutomaticSubscriptionStorePickerOptionLabelThe standard picker option label for a subscription store view.
- StButtonsSubscriptionStoreControlStyleiOS 17.0+A subscription store control style that displays a subscribe button for each subscription plan.
- StCompactPickerSubscriptionStoreControlStyleA subscription store control style that displays subscription plans as a compact picker control, with a single
- StCompactProductViewStyleA product view style suitable for layouts where less space is available, or for displaying more items in a
- StCompactSubscriptionOfferViewStyle
- StDisplayMessageAction
- StLargeProductViewStyleA product view style suitable for layouts where in-app purchase content is prominent.
- StPagedPickerSubscriptionStoreControlStyleA subscription store control style that displays subscription plans as a paged picker control, with a single
- StPagedProminentPickerSubscriptionStoreControlStyleA subscription store control style that displays subscription plans as a paged prominent picker control, with
- StPickerSubscriptionStoreControlStyleA subscription store control style that displays subscription plans as a picker control, with a single
Show 18 more
- StProductViewiOS 17.0+A view that merchandises an invididual in-app purchase product.
- StProminentPickerSubscriptionStoreControlStyleA subscription store control style that displays subscription plans as a prominent picker control,
- StPurchaseActioniOS 17.0+An action that starts an in-app purchase.
- StRegularProductViewStyleiOS 17.0+A product view style using a standard, platform appropriate layout.
- StRequestReviewAction
- StStoreContentBuilderiOS 18.0+A result builder that creates store content from closures you provide.
- StStoreViewiOS 17.0+A view that merchandises a collection of in-app purchase products.
- StSubscriptionOfferView
- StSubscriptionOptionGroupiOS 18.0+A group of subscription options within a store.
- StSubscriptionOptionGroupSetiOS 18.0+A set of subscription option groups.
- StSubscriptionOptionSectioniOS 18.0+Contains subscription options to add visual hierarchy within a subscription store view's controls.
- StSubscriptionPeriodGroupSetiOS 18.0+A set of subscription option groups, where each group represents subscription options with a common
- StSubscriptionStoreButtoniOS 18.0+A button for subscribing to an in-app subscription.
- StSubscriptionStoreContentViewiOS 18.0+A view representation of a subscription store view's content.
- StSubscriptionStorePicker
- StSubscriptionStorePickerOption
- StSubscriptionStoreViewiOS 17.0+A view that merchandises a collection of subscription options in a subscription group.
- StTupleStoreContentiOS 18.0+
Enumerations 3
- EnSKDownloadState
- EnSKProductStorePromotionVisibility
- EnVerificationResultiOS 15.0+Describes the result of verifying the signature for the associated value of `SignedType`.
Protocols 4
- PrProductViewStyleiOS 17.0+A type that specifies the appearance and interaction of product views within the view hierarchy.
- PrStoreContentiOS 18.0+A type that represents the content of a store.
- PrSubscriptionOfferViewStyle
- PrSubscriptionStoreControlStyleiOS 17.0+A type that specifies the appearance and interaction of subscribe controls for subscription store views
Type Aliases 31
- TySubscriptionInfoInformation about an auto-renewable subscription.
- TySubscriptionPeriodRepresents the duration of time between subscription renewals.
- TySubscriptionRenewalInfoThe renewal information for an auto-renewable subscription.
- TySubscriptionRenewalStateThe renewal states of auto-renewable subscriptions.
- TySubscriptionStatusThe renewal status information for an auto-renewable subscription.
- Ty__Float16x4_t
- Ty__Float16x8_t
- Ty__Float32x2_t
- Ty__Float32x4_t
- Ty__Float64x2_t
- Ty__Int16x4_t
- Ty__Int16x8_t
- Ty__Int32x2_t
- Ty__Int32x4_t
- Ty__Int64x2_t
- Ty__Int8x16_t
Show 15 more
- Ty__Int8x8_t
- Ty__NSConstantString
- Ty__Poly16x4_t
- Ty__Poly16x8_t
- Ty__Poly64x2_t
- Ty__Poly8x16_t
- Ty__Poly8x8_t
- Ty__Uint16x4_t
- Ty__Uint16x8_t
- Ty__Uint32x2_t
- Ty__Uint32x4_t
- Ty__Uint64x2_t
- Ty__Uint8x16_t
- Ty__Uint8x8_t
- Ty__builtin_ms_va_list