如何在连接使用蓝牙 LE iOS 上显示找到的设备列表
1个回答
展开全部
您应该实现一个更中央经理委托的方法:
centralManager:didConnectPeripheral:error
里面你应该通过自我到周边的委托
peripheral.delegate = self;
在这个时刻你没发现周边服务或服务不特征。你应该明确地告诉你想要检索所有服务该外设有:
[peripheral discoverServices:nil];
在那之后 CoreBluetooth 调用 CBPeripheral 委托方法:
peripheral:didDiscoverServices:
在那一刻你有所有的服务可以通过服务属性访问的外围设备上:
peripheral.services
下一步-发现服务特点:
for (CBService *service in peripheral.services) {
[peripheral discoverCharacteristics:nil
forService:service];
}
你需要再次实现从协议的 CBPeripheral 方法:
peripheral:didDiscoverCharacteristicsForService:error:
这可以通过访问
service.characteristics
现在你可以读/写/setNotify 上他们。但用于读写/通知您应当实现相应的 CBPeripheralManager 协议方法:
peripheralManager:didReceiveReadRequest:
peripheralManager:didReceiveWriteRequests:
peripheralManager:central:didSubscribeToCharacteristic:
centralManager:didConnectPeripheral:error
里面你应该通过自我到周边的委托
peripheral.delegate = self;
在这个时刻你没发现周边服务或服务不特征。你应该明确地告诉你想要检索所有服务该外设有:
[peripheral discoverServices:nil];
在那之后 CoreBluetooth 调用 CBPeripheral 委托方法:
peripheral:didDiscoverServices:
在那一刻你有所有的服务可以通过服务属性访问的外围设备上:
peripheral.services
下一步-发现服务特点:
for (CBService *service in peripheral.services) {
[peripheral discoverCharacteristics:nil
forService:service];
}
你需要再次实现从协议的 CBPeripheral 方法:
peripheral:didDiscoverCharacteristicsForService:error:
这可以通过访问
service.characteristics
现在你可以读/写/setNotify 上他们。但用于读写/通知您应当实现相应的 CBPeripheralManager 协议方法:
peripheralManager:didReceiveReadRequest:
peripheralManager:didReceiveWriteRequests:
peripheralManager:central:didSubscribeToCharacteristic:
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询