<!--
{
  "availability" : [
    "iOS: 17.0.0 -",
    "iPadOS: 17.0.0 -",
    "macOS: 14.0.0 -",
    "tvOS: 17.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 10.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "StoreKit",
  "identifier" : "/documentation/StoreKit/SubscriptionStoreControlStyleConfiguration",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "StoreKit",
      "SwiftUI"
    ],
    "preciseIdentifier" : "s:17_StoreKit_SwiftUI012SubscriptionA25ControlStyleConfigurationV"
  },
  "title" : "SubscriptionStoreControlStyleConfiguration"
}
-->

# SubscriptionStoreControlStyleConfiguration

The properties of a subscription store control that includes the list of auto-renewable subscriptions to merchandise.

```
struct SubscriptionStoreControlStyleConfiguration
```

## Overview

When you define a custom subscription store control style by creating a type that conforms to the [`SubscriptionStoreControlStyle`](/documentation/StoreKit/SubscriptionStoreControlStyle) protocol, you implement the [`makeBody(configuration:)`](/documentation/StoreKit/SubscriptionStoreControlStyle/makeBody(configuration:)) method. That method takes a `SubscriptionStoreControlStyleConfiguration` parameter, which has the information necessary to define the behavior and interactions of a subscription store view’s primary controls.

Decide whether your style supports dividing options into sections.

- If you support sections, use the [`sections`](/documentation/StoreKit/SubscriptionStoreControlStyleConfiguration/sections) property to preserve the structure and accessory views you declare using [`SubscriptionOptionSection`](/documentation/StoreKit/SubscriptionOptionSection) instances.
- If you don’t support sections, use the [`options`](/documentation/StoreKit/SubscriptionStoreControlStyleConfiguration/options) property to have a flattened array of the [`SubscriptionStoreControlStyleConfiguration.Option`](/documentation/StoreKit/SubscriptionStoreControlStyleConfiguration/Option) values to merchandise.

Provide a control that enables customers to subscribe to each option in either the `options` or `sections` properties.

To hide and sort the subscription options that your view displays, use the initializer of the [`SubscriptionStoreView`](/documentation/StoreKit/SubscriptionStoreView). For example, you can initialize the subscription store to contain only the subscription options that upgrade the customer’s current subscription.

Display only the subscription options that appear in either the `options` or `sections` properties. For example, declaring [`SubscriptionOptionGroup`](/documentation/StoreKit/SubscriptionOptionGroup) instances can hide certain subscription options from a control. To access information about other subscription options, use the [`allOptions`](/documentation/StoreKit/SubscriptionStoreControlStyleConfiguration/allOptions) property.

In cases where a customer is actively subscribed, use [`autoRenewPreference`](/documentation/StoreKit/SubscriptionStoreControlStyleConfiguration/autoRenewPreference) to get the [`Product`](/documentation/StoreKit/Product) value of the subscription product that renews at the next billing.

## Topics

### Getting subscription options to merchandise

[`options`](/documentation/StoreKit/SubscriptionStoreControlStyleConfiguration/options)

An array of subscription options for the subscription store view to merchandise.

[`sections`](/documentation/StoreKit/SubscriptionStoreControlStyleConfiguration/sections)

The subscription options to merchandise by sections.

[`Option`](/documentation/StoreKit/SubscriptionStoreControlStyleConfiguration/Option)

Properties of an auto-renewable subscription option to merchandise.

[`PickerOption`](/documentation/StoreKit/SubscriptionStoreControlStyleConfiguration/PickerOption)

The properties of a picker option to use for selecting a subscription.

[`Section`](/documentation/StoreKit/SubscriptionStoreControlStyleConfiguration/Section)

The properties of a section of subscription options within a subscription store control.

[`Icon`](/documentation/StoreKit/SubscriptionStoreControlStyleConfiguration/Icon)

A type-erased icon of a subscription option.

### Getting subscription group properties

[`groupDisplayName`](/documentation/StoreKit/SubscriptionStoreControlStyleConfiguration/groupDisplayName)

The localized display name of the subscription group that the subscription store view merchandises.

[`autoRenewPreference`](/documentation/StoreKit/SubscriptionStoreControlStyleConfiguration/autoRenewPreference)

The auto-renewable subscripton product that renews at the next billing cycle.

[`allOptions`](/documentation/StoreKit/SubscriptionStoreControlStyleConfiguration/allOptions)

All subscription options in the subscription group.

### Getting subscription description visibility

[`descriptionVisibility`](/documentation/StoreKit/SubscriptionStoreControlStyleConfiguration/descriptionVisibility)

The visibility of product descriptions.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)