# Subscription Lists for the Apple SDK

Manage channel and contact subscription lists for topic-based messaging.

For information about Subscription Lists, including overview, use cases, and how to create subscription lists, see [Subscription Lists](https://www.airship.com/docs/guides/audience/segmentation/audience-lists/subscription/).

## Channel Subscription Lists

Channel subscriptions apply only to the single channel.


#### Swift


```swift
// Modifying channel subscription lists
Airship.channel.editSubscriptionLists { editor in
    editor.subscribe("food")
    editor.unsubscribe("sports")
}

// Fetching channel subscription lists
let channelSubscriptions = try await Airship.channel.fetchSubscriptionLists()
```



#### Objective-C


```objc
// Modifying channel subscription lists
UASubscriptionListEditor *channelEditor = [UAirship.channel editSubscriptionLists];
[channelEditor subscribe:@"food"];
[channelEditor unsubscribe:@"sports"];
[channelEditor apply];

// Fetching channel subscription lists
[[UAChannel shared] fetchSubscriptionListsWithCompletionHandler:^(NSArray<NSString *> * _Nullable channelSubscriptionLists, NSError * _Nullable error) {
    // Use the channelSubscriptionLists
}];
```




## Contact Subscription Lists

Contact subscriptions are set at the user-level and require a Channel scope specifying the types that the subscription list applies to.


#### Swift


```swift
// Modifying contact subscription lists
Airship.contact.editSubscriptionLists { editor in
    editor.subscribe("food", scope: .app)
    editor.unsubscribe("sports", scope: .sms)
}

// Fetching contact subscription lists
let contactSubscriptions = try await Airship.contact.fetchSubscriptionLists()
```



#### Objective-C


```objc
// Modifying contact subscription lists
UAScopedSubscriptionListEditor *contactEditor = [[UAContact shared] editSubscriptionLists];
[contactEditor subscribe:"food" scope:"app"];
[contactEditor unsubscribe:"sports" scope:"sms"];
[contactEditor apply];

// Fetching contact subscription lists
[UAirship.contact fetchSubscriptionListsWithCompletionHandler:^(NSDictionary<NSString *,UAChannelScopes *> * _Nullable, NSError * _Nullable) {
    // Use the subscriptionLists
}];
```




## Verifying Subscription Lists

To verify that subscription lists have been set correctly, look up the channel or contact in the [Contact Management](https://www.airship.com/docs/guides/audience/contact-management/) view. You can search by Channel ID or Named User ID to view the subscription lists associated with a channel or contact.

