答案 0 :(得分:0)
在我的开发板上测试BLE配置文件时,我最近看到了与该应用程序(LightBlue)相同的结果。
我注意到的是,根据UUID的设置方式,有时该应用程序可能会识别出外围设备具有BLE配置文件,但随后将报告其中没有服务。当我查询外设时,"服务"我的个人资料将与特征混为一谈。
我怀疑你正在看的Apple TV确实有BLE服务,但是由于LightBlue应用程序正在对信息进行分类,它不知何故错过了这项服务,但可以正确地看到其中的特征。
最后,在相关的说明中,如果您在iOS上实现自己的BLE处理程序代码,那么您应该限制您正在寻找的服务。例如,如果您有以下内容:
centralManager.scanForPeripheralsWithServices(nil, options: nil)
在你的Swift代码中(我怀疑LightBlue会这样做),考虑用您正在寻找的服务的CBUUID替换第一个nil参数。当您在附近扫描所有BLE服务时,会发生奇怪的错误事件。
答案 1 :(得分:0)
Swift 3
var bleCentralManager:CBCentralManager!
@IBAction func btnScan(_ sender: UIButton){
//for scan peripheral(BLE) device
self.bleCentralManager.scanForPeripherals(withServices: nil, options: nil)
}