ARTICLE AD BOX
I'm trying to scan for BLE devices using CoreBluetooth on iOS 26.5.
The permission dialog never appears and centralManagerDidUpdateState
never fires, despite CBCentralManager.authorization returning 0
(not determined).
**Setup:**
- iPhone running iOS 26.5
- Xcode 16
- NSBluetoothAlwaysUsageDescription set in Info.plist
- NSBluetoothPeripheralUsageDescription set in Info.plist
**Code:**
class ViewController: UIViewController, CBCentralManagerDelegate {
var centralManager: CBCentralManager!
}
**Console output:**
Auth status: 0
(nothing else — centralManagerDidUpdateState never called)
**What I've tried:**
- Reset Location & Privacy on device
- Deleting and reinstalling the app
- Using DispatchQueue.global(qos: .background) for the queue
- Adding CBCentralManagerOptionShowPowerAlertKey: true to options
- Both SwiftUI and UIKit approaches
Has iOS 26 changed how Bluetooth permissions are triggered?
