在 iOS 11 中确定信标测距的蓝牙状态
Determine bluetooth state for beacon ranging in iOS 11
在 iOS11 中,用户可以从控制中心和设置中禁用蓝牙。如果在控制中心禁用蓝牙,信标测距仍然可以工作。我尝试在中央管理器中使用 didUpdateState
。当以任何一种方式禁用蓝牙时,它只会给我 CBManagerStatePoweredOff
。
有没有办法找出蓝牙是否能够测距?我也试过isRangingAvailable
。在我的设备上总是 returns 正确。
在您的 CoreLocation 委托中,实现以下方法:
func locationManager(_ manager: CLLocationManager,
rangingBeaconsDidFailFor region: CLBeaconRegion,
withError error: Error) {
// Ranging is not available. Do something here.
}
在 iOS11 中,用户可以从控制中心和设置中禁用蓝牙。如果在控制中心禁用蓝牙,信标测距仍然可以工作。我尝试在中央管理器中使用 didUpdateState
。当以任何一种方式禁用蓝牙时,它只会给我 CBManagerStatePoweredOff
。
有没有办法找出蓝牙是否能够测距?我也试过isRangingAvailable
。在我的设备上总是 returns 正确。
在您的 CoreLocation 委托中,实现以下方法:
func locationManager(_ manager: CLLocationManager,
rangingBeaconsDidFailFor region: CLBeaconRegion,
withError error: Error) {
// Ranging is not available. Do something here.
}