TechnologiesCommerce, Payments & Ads

StoreKit

iOSmacOStvOSwatchOSvisionOS

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.

  • St
    ProductiOS 15.0+
    Information about a product configured in App Store Connect.
  • St
    TransactioniOS 15.0+
    Represents signed transaction information for a purchase.
  • St
    AppTransactioniOS 16.0+
    Represents signed transaction information for an app purchase.
  • En
    AppStoreiOS 15.0+
    Contains properties and methods to facilitate interactions between your app and the App Store.
  • St
    StorefrontiOS 15.0+
    An App Store storefront.
  • St
    PurchaseIntent
    Represents 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.

  • Cl
    SKProduct
    An object that describes a product available for purchase from the App Store.
  • Cl
    SKProductDiscount
    An object that describes a promotional or introductory price offer for a product.
  • Cl
    SKProductSubscriptionPeriod
    An object that describes the duration and unit of an auto-renewable subscription period.
  • Cl
    SKProductsRequest
    A request that retrieves localized product information from the App Store for a set of identifiers.
  • Cl
    SKProductsResponse
    An object that contains the products and invalid identifiers returned from a products request.
  • Pr
    SKProductsRequestDelegate
    A 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.

  • Cl
    SKPayment
    An object that represents a request to the App Store to process payment for a product.
  • Cl
    SKMutablePayment
    A mutable request to process payment, letting you configure the product, quantity, and discount.
  • Cl
    SKPaymentDiscount
    An object that signs and represents a promotional offer applied to a subscription payment.
  • Cl
    SKPaymentQueue
    An object that manages payment requests and communicates with the App Store to process transactions.
  • Cl
    SKPaymentTransaction
    An object that records the processing of a payment in the payment queue.
  • En
    SKPaymentTransactionState
    Constants that indicate the current state of a payment transaction in the queue.
  • Pr
    SKPaymentQueueDelegate
    A protocol that manages payment-queue behavior such as storefront changes and entitlement checks.
  • Pr
    SKPaymentTransactionObserver
    A protocol that responds to updates in the payment queue's transactions and downloads.
  • Cl
    SKDownload
    An 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.

  • Cl
    SKRequest
    An abstract base class for requests sent to the App Store.
  • Pr
    SKRequestDelegate
    A protocol that responds to the completion or failure of a StoreKit request.
  • Cl
    SKReceiptRefreshRequest
    A 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.

  • Cl
    SKStoreProductViewControlleriOS 6.0+
    A view controller that presents an App Store product page from within your app.
  • Pr
    SKStoreProductViewControllerDelegateiOS 6.0+
    A protocol that responds to the dismissal of a store product view controller.
  • Cl
    SKProductStorePromotionController
    An object that controls the visibility and ordering of products promoted on the App Store.
  • Cl
    SKOverlayiOS 14.0+
    An object that presents an overlay recommending another app from within your app.
  • Pr
    SKOverlayDelegateiOS 14.0+
    A protocol that responds to events from an app-recommendation overlay.
  • Cl
    SKStorefront
    An object that describes the App Store storefront serving the user's account.
  • St
    AppStoreMerchandisingKind
    A merchandising kind to display in a merchandising view.
  • St
    IdentifiedStoreContentiOS 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.

  • Cl
    SKStoreReviewController
    Controller class to request a review from the current user
  • St
    Message
    A message to be displayed.

Subscription Store Views 17

SwiftUI configuration types that customize the layout, controls, and styling of subscription store views.

  • Pr
    SubscriptionOptionGroupStyleiOS 18.0+
    A type that specifies the appearance and interaction of a nested groups of subscription options.
  • St
    AutomaticSubscriptionOptionGroupStyleiOS 18.0+
    The automatic subscrption option group style, based on the group's context.
  • St
    LinksSubscriptionOptionGroupStyleiOS 18.0+
    A subscription option group style which displays the first subgroup's content along with links to navigate to
  • St
    TabsSubscriptionOptionGroupStyle
    A subscription option group style which displays a tab view containing tabs for each subgroup.
  • St
    SubscriptionOptionGroupStyleOutputiOS 18.0+
    You don't use this type directly. Instead, StoreKit uses this type internally to understand what appearance
  • Pr
    SubscriptionStoreControlPlacementiOS 18.0+
    A type that describes the placement of subscription controls in a subscription store view.
  • St
    AutomaticSubscriptionStoreControlPlacementiOS 18.0+
    The system-defined placements of a subscription store view.
  • St
    SubscriptionStoreControlPlacementKeyiOS 18.0+
    The system-defined placements of subscription controls in a subscription store view.
  • St
    SubscriptionStoreControlStyleConfigurationiOS 17.0+
    The properties of a subscription store control.
  • St
    SubscriptionStoreControlBackground
    The background layer below the subscribe controls, and above any background in an in-app subscription
  • St
    SubscriptionStoreButtonLabel
    The label of a subscribe button used by a subscription store view.
  • St
    SubscriptionStorePolicyKindiOS 17.0+
    A value that describes a link style button to a subscription policy.
  • St
    SubscriptionOfferViewButtonKind
    A structure that identifies a kind of button presented in a subscription offer view.
  • St
    SubscriptionOfferViewStyleConfiguration
    A structure that provides the properties used to style a subscription offer view.
  • St
    ProductViewStyleConfigurationiOS 17.0+
    The properties of a product view.
  • En
    ProductIconPhaseiOS 17.0+
    The current phase of the asynchronous loading operation of the promotional image for
  • St
    StoreButtonKindiOS 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.

  • En
    ExternalPurchaseiOS 15.4+
    An enumeration that provides support for processing purchases outside the App Store in eligible regions.
  • En
    ExternalPurchaseCustomLinkiOS 18.1+
    An enumeration that provides support for presenting custom links to external purchase options.
  • En
    ExternalPurchaseLinkiOS 15.4+
    An enumeration that provides support for presenting links to external purchase websites.
  • En
    ExternalLinkAccount
    An enumeration that provides support for linking to an external account outside the App Store.
  • St
    AdvancedCommerceProductiOS 18.4+
    A structure that represents a product managed through the Advanced Commerce API for custom catalogs.
  • St
    PaymentMethodBinding
    Binds a third-party payment method to a user's App Store account.
  • St
    RedeemOption
    An 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.

  • Cl
    SKCloudServiceController
    An object that requests the capabilities and storefront identifier of the user's Apple Music account.
  • St
    SKCloudServiceCapability
    An option set that describes the music capabilities available for the user's cloud service account.
  • En
    SKCloudServiceAuthorizationStatus
    Constants that indicate whether the user has authorized access to their cloud service account.
  • Cl
    SKCloudServiceSetupViewController
    A view controller that presents a flow for setting up the user's Apple Music subscription.
  • Pr
    SKCloudServiceSetupViewControllerDelegate
    A protocol that responds to the dismissal of a cloud service setup view controller.
  • St
    SKCloudServiceSetupOptionsKey
    Constants that specify keys for configuring the cloud service setup flow.
  • St
    SKCloudServiceSetupAction
    Constants that specify the action to perform when presenting the cloud service setup flow.
  • St
    SKCloudServiceSetupMessageIdentifier
    Constants that identify which message to present during cloud service setup.
  • Cl
    SKArcadeServiceiOS 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.

  • Cl
    SKAdNetworkiOS 11.3+
    A class that validates advertisement-driven app installations for the StoreKit Ad Network.
  • Cl
    SKAdImpressioniOS 14.5+
    An object that describes a view-through or click-through ad impression reported to the App Store for install attribution.
  • St
    SKANErroriOS 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.

  • En
    EntitlementTaskStateiOS 17.0+
    The state of an entitlement task.
  • Pr
    StoreDownloaderExtension
    An 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.

  • En
    StoreKitErroriOS 15.0+
    Generic StoreKit Errors.
  • St
    SKErroriOS 3.0+
    A structure that describes errors returned by the original StoreKit payment APIs.
  • St
    InvalidRequestErroriOS 18.4+
    A structure that describes an error caused by a malformed or unsupported StoreKit request.

Structures 34

  • St
    AutomaticProductPlaceholderIconiOS 17.0+
    A view representing the automatic placeholder icon for a product view.
  • St
    AutomaticProductViewStyleiOS 17.0+
    The automatic product view style, based on the view's context.
  • St
    AutomaticSubscriptionOfferViewStyle
  • St
    AutomaticSubscriptionOptionGroupLabeliOS 18.0+
    A view representing the default label for a subscription option group.
  • St
    AutomaticSubscriptionStoreControlStyleiOS 17.0+
    The default subscription store control style, choosing a standard style automatically based on the view's
  • St
    AutomaticSubscriptionStoreMarketingContentiOS 17.0+
    A view representing the default marketing content for a subscription store view.
  • St
    AutomaticSubscriptionStorePickerOptionLabel
    The standard picker option label for a subscription store view.
  • St
    ButtonsSubscriptionStoreControlStyleiOS 17.0+
    A subscription store control style that displays a subscribe button for each subscription plan.
  • St
    CompactPickerSubscriptionStoreControlStyle
    A subscription store control style that displays subscription plans as a compact picker control, with a single
  • St
    CompactProductViewStyle
    A product view style suitable for layouts where less space is available, or for displaying more items in a
  • St
    CompactSubscriptionOfferViewStyle
  • St
    DisplayMessageAction
  • St
    LargeProductViewStyle
    A product view style suitable for layouts where in-app purchase content is prominent.
  • St
    PagedPickerSubscriptionStoreControlStyle
    A subscription store control style that displays subscription plans as a paged picker control, with a single
  • St
    PagedProminentPickerSubscriptionStoreControlStyle
    A subscription store control style that displays subscription plans as a paged prominent picker control, with
  • St
    PickerSubscriptionStoreControlStyle
    A subscription store control style that displays subscription plans as a picker control, with a single
Show 18 more
  • St
    ProductViewiOS 17.0+
    A view that merchandises an invididual in-app purchase product.
  • St
    ProminentPickerSubscriptionStoreControlStyle
    A subscription store control style that displays subscription plans as a prominent picker control,
  • St
    PurchaseActioniOS 17.0+
    An action that starts an in-app purchase.
  • St
    RegularProductViewStyleiOS 17.0+
    A product view style using a standard, platform appropriate layout.
  • St
    RequestReviewAction
  • St
    StoreContentBuilderiOS 18.0+
    A result builder that creates store content from closures you provide.
  • St
    StoreViewiOS 17.0+
    A view that merchandises a collection of in-app purchase products.
  • St
    SubscriptionOfferView
  • St
    SubscriptionOptionGroupiOS 18.0+
    A group of subscription options within a store.
  • St
    SubscriptionOptionGroupSetiOS 18.0+
    A set of subscription option groups.
  • St
    SubscriptionOptionSectioniOS 18.0+
    Contains subscription options to add visual hierarchy within a subscription store view's controls.
  • St
    SubscriptionPeriodGroupSetiOS 18.0+
    A set of subscription option groups, where each group represents subscription options with a common
  • St
    SubscriptionStoreButtoniOS 18.0+
    A button for subscribing to an in-app subscription.
  • St
    SubscriptionStoreContentViewiOS 18.0+
    A view representation of a subscription store view's content.
  • St
    SubscriptionStorePicker
  • St
    SubscriptionStorePickerOption
  • St
    SubscriptionStoreViewiOS 17.0+
    A view that merchandises a collection of subscription options in a subscription group.
  • St
    TupleStoreContentiOS 18.0+

Enumerations 3

  • En
    SKDownloadState
  • En
    SKProductStorePromotionVisibility
  • En
    VerificationResultiOS 15.0+
    Describes the result of verifying the signature for the associated value of `SignedType`.

Protocols 4

  • Pr
    ProductViewStyleiOS 17.0+
    A type that specifies the appearance and interaction of product views within the view hierarchy.
  • Pr
    StoreContentiOS 18.0+
    A type that represents the content of a store.
  • Pr
    SubscriptionOfferViewStyle
  • Pr
    SubscriptionStoreControlStyleiOS 17.0+
    A type that specifies the appearance and interaction of subscribe controls for subscription store views

Type Aliases 31

  • Ty
    SubscriptionInfo
    Information about an auto-renewable subscription.
  • Ty
    SubscriptionPeriod
    Represents the duration of time between subscription renewals.
  • Ty
    SubscriptionRenewalInfo
    The renewal information for an auto-renewable subscription.
  • Ty
    SubscriptionRenewalState
    The renewal states of auto-renewable subscriptions.
  • Ty
    SubscriptionStatus
    The 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

Extends 7

NSNotificationDateComponentsViewEnvironmentValuesContainerBackgroundPlacementNeverOptional
← Commerce, Payments & Ads