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

# CTSlicingManager

A manager that provides network-slicing capabilities for controlling and monitoring cellular network traffic routing.

```
final class CTSlicingManager
```

## Overview

Use `CTSlicingManager` to control how your app’s network traffic routes through cellular network slices. Network slicing allows carriers to partition their network resources to provide different levels of service quality for specific types of apps. For example, a gaming slice might prioritize low latency, and a streaming slice might focus on consistent bandwidth. Your app can activate a preferred slice to ensure its traffic receives the appropriate quality of service.

> Important: Network slice availability depends on carrier support, your app’s entitlements, and current network conditions. Be sure to check ``doc://com.apple.coretelephony/documentation/CoreTelephony/CTSlicingManager/availableSliceAppCategories`` before attempting to activate a slice.

Query [`availableSliceAppCategories`](/documentation/CoreTelephony/CTSlicingManager/availableSliceAppCategories) to discover which slice categories your app can use.

```swift
let manager = CTSlicingManager.shared
do {
    let categories = try await manager.availableSliceAppCategories
    if categories.contains(.gaming) {
        // The gaming slice is available.
    }
} catch {
    // Handle the error.
}
```

Activate your preferred slice before creating network connections. New connections automatically route through the activated slice. Call [`activatePreferredSliceForCategory(_:)`](/documentation/CoreTelephony/CTSlicingManager/activatePreferredSliceForCategory(_:)) before establishing network connections.

```swift
do {
    try await manager.activatePreferredSliceForCategory(.gaming)
    // Establish your network connections.
} catch POSIXError.ENOTSUP {
    // Network slicing isn't available.
} catch {
    // Handle other errors.
}
```

Query [`activeSlices`](/documentation/CoreTelephony/CTSlicingManager/activeSlices) to verify activation and monitor network slice usage.

```swift
do {
    let slices = try await manager.activeSlices
    for slice in slices {
        print("Category: \(slice.appCategory)")
        print("Traffic Class: \(slice.trafficClass)")
        print("Interface: \(slice.networkInterfaceName)")
    }
} catch {
    // Handle the error.
}
```

Call [`disableSlicing()`](/documentation/CoreTelephony/CTSlicingManager/disableSlicing()) to return to the default cellular connection when you no longer need slice-specific routing.

```swift
do {
    try await manager.disableSlicing()
    // New connections use the default cellular internet.
} catch {
    // Handle the error.
}
```

## Topics

### Getting the shared instance

[`shared`](/documentation/CoreTelephony/CTSlicingManager/shared)

A shared singleton instance for accessing network slicing functionality.

### Querying available slices

[`availableSliceAppCategories`](/documentation/CoreTelephony/CTSlicingManager/availableSliceAppCategories)

Network-slicing app categories available to your app.

### Managing network slicing

[`activatePreferredSliceForCategory(_:)`](/documentation/CoreTelephony/CTSlicingManager/activatePreferredSliceForCategory(_:))

Activates a preferred network slice for new connections.

[`disableSlicing()`](/documentation/CoreTelephony/CTSlicingManager/disableSlicing())

Disables network slicing for new connections.

### Monitoring active slices

[`activeSlices`](/documentation/CoreTelephony/CTSlicingManager/activeSlices)

Information about currently active network slices on the device.

### Representing slice information

[`Slice`](/documentation/CoreTelephony/CTSlicingManager/Slice)

Information about an active network slice.

### Representing app categories

[`AppCategory`](/documentation/CoreTelephony/CTSlicingManager/AppCategory)

App categories for network slicing.

### Representing traffic classification

[`TrafficClass`](/documentation/CoreTelephony/CTSlicingManager/TrafficClass)

Quality-of-service classes for routing network traffic.

## Relationships

### Conforms To

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

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

---

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)