iBeacon 应该在 Swift 中需要蓝牙?
iBeacon should needs bluetooth in Swift?
我知道蓝牙功能是使用该功能所必需的。但是,即使我在当前项目中关闭蓝牙一段时间,下面的打印项目仍然在更新中。
func locationManager(_ manager: CLLocationManager, didRangeBeacons beacons: [CLBeacon], in region: CLBeaconRegion) {
if beacons.count > 0 {
print("if beacon detect " + String(beacons.count))
majorArray.removeAll()
for beacon in beacons {
// print("uuid: \(beacon.proximityUUID.uuidString) major: \(beacon.major) minor: \(beacon.minor)")
let major = "\(beacon.major)"
let num = (major as NSString).integerValue
if !majorArray.contains(num){
majorArray.append(num)
}
}
}else{
print("no beacon result")
}
}
我要搜索我附近的设备,如果我这样做,它需要蓝牙。我不知道为什么我关闭蓝牙后会出现这种情况。
如果我通过测距扫描信标,它不需要蓝牙吗?
自 iOS11 起,在控制中心关闭蓝牙不会停止信标检测。(控制中心是您从屏幕底部。)这个菜单项并没有真正关闭蓝牙,它只会终止活动的蓝牙连接并阻止建立新的蓝牙连接。它不会阻止像信标这样的无连接蓝牙通信。
但是,如果您在“设置”->“蓝牙”->“关闭”中将其关闭,您将看到信标检测停止。
我知道蓝牙功能是使用该功能所必需的。但是,即使我在当前项目中关闭蓝牙一段时间,下面的打印项目仍然在更新中。
func locationManager(_ manager: CLLocationManager, didRangeBeacons beacons: [CLBeacon], in region: CLBeaconRegion) {
if beacons.count > 0 {
print("if beacon detect " + String(beacons.count))
majorArray.removeAll()
for beacon in beacons {
// print("uuid: \(beacon.proximityUUID.uuidString) major: \(beacon.major) minor: \(beacon.minor)")
let major = "\(beacon.major)"
let num = (major as NSString).integerValue
if !majorArray.contains(num){
majorArray.append(num)
}
}
}else{
print("no beacon result")
}
}
我要搜索我附近的设备,如果我这样做,它需要蓝牙。我不知道为什么我关闭蓝牙后会出现这种情况。
如果我通过测距扫描信标,它不需要蓝牙吗?
自 iOS11 起,在控制中心关闭蓝牙不会停止信标检测。(控制中心是您从屏幕底部。)这个菜单项并没有真正关闭蓝牙,它只会终止活动的蓝牙连接并阻止建立新的蓝牙连接。它不会阻止像信标这样的无连接蓝牙通信。
但是,如果您在“设置”->“蓝牙”->“关闭”中将其关闭,您将看到信标检测停止。