<!--
{
  "availability" : [
    "iOS: 27.0.0 -",
    "iPadOS: 27.0.0 -",
    "macCatalyst: 27.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "CoreTelephony",
  "identifier" : "/documentation/CoreTelephony/CTQuickSwitchManager/getDeviceState(_:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "Core Telephony"
    ],
    "preciseIdentifier" : "c:objc(cs)CTQuickSwitchManager(im)getDeviceState:"
  },
  "title" : "getDeviceState(_:)"
}
-->

# getDeviceState(_:)

Gets the quick switch state of the current device.

```
func getDeviceState(_ completionHandler: @escaping @Sendable (CTQuickSwitchState, (any Error)?) -> Void)
```

```
var deviceState: CTQuickSwitchState { get async throws }
```

## Parameters

`completionHandler`

A completion handler the framework calls after processing the request. The parameters passed to the completion handler indicate the [`CTQuickSwitchState`](/documentation/CoreTelephony/CTQuickSwitchState) and an error value that indicates whether the request succeeded, failed, or ended in an unknown state.

---

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)