<!--
{
  "availability" : [
    "iOS: 26.3.0 -",
    "iPadOS: 26.3.0 -",
    "macCatalyst: 26.3.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "CoreTelephony",
  "identifier" : "/documentation/CoreTelephony/CTSlicingManager/availableSliceAppCategories",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "Core Telephony"
    ],
    "preciseIdentifier" : "s:13CoreTelephony16CTSlicingManagerC27availableSliceAppCategoriesSayAC0G8CategoryOGvp"
  },
  "title" : "availableSliceAppCategories"
}
-->

# availableSliceAppCategories

Network-slicing app categories available to your app.

```
final var availableSliceAppCategories: [CTSlicingManager.AppCategory] { get async throws }
```

## Discussion

This property returns an array of [`CTSlicingManager.AppCategory`](/documentation/CoreTelephony/CTSlicingManager/AppCategory) values that meet all of the following requirements:

- The carrier’s network supports them.
- Your app’s entitlements include them.
- The device and network currently make them available.

Query this property before attempting to activate a specific network slice category to ensure it’s available.

```swift
do {
    let categories = try await CTSlicingManager.shared.availableSliceAppCategories
    print("Available categories: \(categories)")
} catch POSIXError.ENOTSUP {
    print("Network slicing isn't currently available")
} catch {
    print("Error retrieving categories: \(error)")
}
```

> Throws:
> 
> - `POSIXError.ENOTSUP` if network slicing is not currently available.
> - `POSIXError.EINVAL` if an invalid parameter or system error occurs.

---

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)