<!--
{
  "availability" : [
    "iOS: 5.0.0 -",
    "iPadOS: 5.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.7.0 -",
    "tvOS: 9.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 2.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "CoreBluetooth",
  "identifier" : "/documentation/CoreBluetooth/CBCentralManagerDelegate/centralManagerDidUpdateState(_:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "Core Bluetooth"
    ],
    "preciseIdentifier" : "c:objc(pl)CBCentralManagerDelegate(im)centralManagerDidUpdateState:"
  },
  "title" : "centralManagerDidUpdateState(_:)"
}
-->

# centralManagerDidUpdateState(_:)

Tells the delegate the central manager’s state updated.

```
func centralManagerDidUpdateState(_ central: CBCentralManager)
```

## Parameters

`central`

The central manager whose state has changed.

## Discussion

You implement this required method to ensure that the central device supports Bluetooth low energy and that it’s available to use. You should issue commands to the central manager only when the central manager’s [`state`](/documentation/CoreBluetooth/CBManager/state) indicates it’s powered on. A state with a value lower than [`CBManagerState.poweredOn`](/documentation/CoreBluetooth/CBManagerState/poweredOn) implies that scanning has stopped, which in turn disconnects any previously-connected peripherals. If the state moves below [`CBManagerState.poweredOff`](/documentation/CoreBluetooth/CBManagerState/poweredOff), all [`CBPeripheral`](/documentation/CoreBluetooth/CBPeripheral) objects obtained from this central manager become invalid; you must retrieve or discover these peripherals again. For a complete list of possible states, see [`CBManagerState`](/documentation/CoreBluetooth/CBManagerState).

---

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)