<!--
{
  "availability" : [
    "iOS: 18.0.0 -",
    "iPadOS: 18.0.0 -",
    "macOS: 15.0.0 -",
    "visionOS: 2.0.0 -",
    "watchOS: 11.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "StoreKit",
  "identifier" : "/documentation/StoreKit/SubscriptionStoreControlStyleConfiguration/PickerOption",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "StoreKit",
      "SwiftUI"
    ],
    "preciseIdentifier" : "s:17_StoreKit_SwiftUI012SubscriptionA25ControlStyleConfigurationV12PickerOptionV"
  },
  "title" : "SubscriptionStoreControlStyleConfiguration.PickerOption"
}
-->

# SubscriptionStoreControlStyleConfiguration.PickerOption

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

```
@dynamicMemberLookup struct PickerOption
```

## Overview

You use `SubscriptionStoreControlStyleConfiguration.PickerOption` very similarly to [`SubscriptionStoreControlStyleConfiguration.Option`](/documentation/StoreKit/SubscriptionStoreControlStyleConfiguration/Option). The key differences are:

- The picker option represents a subscription option within the scope of an element of a picker control, where you can merchandise a standard option using any kind of control.
- Instead of getting an option from a [`SubscriptionStoreControlStyleConfiguration`](/documentation/StoreKit/SubscriptionStoreControlStyleConfiguration), you get a picker option when you create a [`SubscriptionStorePicker`](/documentation/StoreKit/SubscriptionStorePicker).
- Instead of providing a [`subscribe()`](/documentation/StoreKit/SubscriptionStoreControlStyleConfiguration/Option/subscribe()) method, the picker option provides an [`isSelected`](/documentation/StoreKit/SubscriptionStoreControlStyleConfiguration/PickerOption/isSelected) property to get the selection state.

The key difference is a `SubscriptionStoreControlStyleConfiguration.Option` provides a method to subscribe, and a `SubscriptionStoreControlStyleConfiguration.PickerOption` indicates the current selection state within a [`SubscriptionStorePicker`](/documentation/StoreKit/SubscriptionStorePicker).

[`SubscriptionStoreControlStyleConfiguration.PickerOption`](/documentation/StoreKit/SubscriptionStoreControlStyleConfiguration/PickerOption) is a dynamic member lookup type, so you don’t need to use [`subscription`](/documentation/StoreKit/SubscriptionStoreControlStyleConfiguration/PickerOption/subscription) directly to access the properties of the `Product` value. Instead, access any properties of `Product` or [`Product.SubscriptionInfo`](/documentation/StoreKit/Product/SubscriptionInfo) directly on the `PickerOption` value.

## Topics

### Getting properties of the subscription picker option

[`var subscription: Product`](/documentation/StoreKit/SubscriptionStoreControlStyleConfiguration/PickerOption/subscription)

The auto-renewable subscription that the picker option represents.

[`var activeOffer: Product.SubscriptionOffer?`](/documentation/StoreKit/SubscriptionStoreControlStyleConfiguration/PickerOption/activeOffer)

[`let isSelected: Bool`](/documentation/StoreKit/SubscriptionStoreControlStyleConfiguration/PickerOption/isSelected)

A Boolean value that indicates whether the picker option is in a selected state.

[`var icon: SubscriptionStoreControlStyleConfiguration.Icon?`](/documentation/StoreKit/SubscriptionStoreControlStyleConfiguration/PickerOption/icon)

The subscription option’s icon.

[`var id: Product.ID`](/documentation/StoreKit/SubscriptionStoreControlStyleConfiguration/PickerOption/id)

### Dynamic member lookup support

[`subscript<T>(dynamicMember _: KeyPath<Product.SubscriptionInfo, T?>) -> T?`](/documentation/StoreKit/SubscriptionStoreControlStyleConfiguration/PickerOption/subscript(dynamicMember:)-2ahxy)

Facilitates accessing optional subscription properties on a picker option value.

[`subscript<T>(dynamicMember _: KeyPath<Product.SubscriptionInfo, T>) -> T?`](/documentation/StoreKit/SubscriptionStoreControlStyleConfiguration/PickerOption/subscript(dynamicMember:)-4f3i1)

Facilitates accessing subscription properties on a picker option value.

[`subscript<T>(dynamicMember _: KeyPath<Product, T>) -> T`](/documentation/StoreKit/SubscriptionStoreControlStyleConfiguration/PickerOption/subscript(dynamicMember:)-8bsxh)

Facilitates accessing product properties on a picker option value.

### Default Implementations

[Identifiable Implementations](/documentation/StoreKit/SubscriptionStoreControlStyleConfiguration/PickerOption/Identifiable-Implementations)

## Relationships

### Conforms To

[`Equatable`](/documentation/Swift/Equatable)

[`Escapable`](/documentation/Swift/Escapable)

[`Hashable`](/documentation/Swift/Hashable)

[`Identifiable`](/documentation/Swift/Identifiable)

[`Copyable`](/documentation/Swift/Copyable)

---

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)