首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将Apple Watch检测为蓝牙外设

如何将Apple Watch检测为蓝牙外设
EN

Stack Overflow用户
提问于 2018-06-02 06:12:17
回答 1查看 677关注 0票数 2

我正在使用CoreBluetooth编译一个通过CBCentralManager方法retrieveConnectedPeripheralsWithServices提供“心率”服务的已连接设备的列表。

代码语言:javascript
复制
NSArray *services = @[[CBUUID UUIDWithString:BT_DEVICEINFO_SERVICE_UUID],
                      [CBUUID UUIDWithString:BT_HEARTRATE_SERVICE_UUID]];
NSArray *connectedDevices = [_centralMana retrieveConnectedPeripheralsWithServices:services];

这份清单包括我的CBPeripheral苹果手表,但一旦连接到connectPeripheral:,这款外设就不能像下面的普通蓝牙心率监视器那样提供任何心率数据:

代码语言:javascript
复制
- (void)peripheral:(CBPeripheral *)peripheral didDiscoverCharacteristicsForService:(CBService *)service error:(NSError *)error
{
    if ([service.UUID isEqual:[CBUUID UUIDWithString:BT_HEARTRATE_SERVICE_UUID]])  {
        // Apple Watch peripheral never gets here.

        for (CBCharacteristic *aChar in service.characteristics){
            // Request heart rate notifications
            if ([aChar.UUID isEqual:[CBUUID UUIDWithString:BT_HRMEASUREMENT_CHARACTERISTIC_UUID]]) {
                [_currentDevice setNotifyValue:YES forCharacteristic:aChar];
            }
        }
    }
}

我要做的是在连接Apple Watch之前识别它,这样我就可以把它从可用的心率设备列表中过滤出来。不幸的是,在连接之前,CBPeripheral似乎只提供字符串“名称”和"UUID“。

有谁知道在这里识别Apple Watch的方法,或者在retrieveConnectedPeripheralsWithServices方法用法中过滤掉它?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50651552

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档