iOS Core Bluetooth:在外围设备上未发现广告服务

iOS Core Bluetooth:在外围设备上未发现广告服务,第1张

概述在连接到广告我感兴趣的特定服务的BLE设备之后,为了发现这项服务,我打电话给: [self.peripheral discoverServices:@[[self.class serviceUUID]]]; – (void)外设:(CBPeripheral *)外设didDiscoverServices:(NSError *)错误委托方法被调用而没有错误,但是为外设返回的服务数是0,因此没有进一步 在连接到广告我感兴趣的特定服务的BLE设备之后,为了发现这项服务,我打电话给:

[self.peripheral discoverServices:@[[self.class serviceUUID]]];

– (voID)外设:(CBPeripheral *)外设dIDdiscoverServices:(NSError *)错误委托方法被调用而没有错误,但是为外设返回的服务数是0,因此没有进一步发现特征.有谁知道为什么会这样?提前致谢!

以下是委托方法的完整主体.

- (voID)peripheral:(CBPeripheral *)peripheral dIDdiscoverServices:(NSError *)error {    if (error) {        NSLog(@"dIDdiscoverServices Failed: %@",error);        return;    }    NSLog(@"dIDdiscoverServices succeeded for peripheral: %@.",peripheral.name);    NSLog(@"Number of services: %d",peripheral.services.count);    for (CBService *s in peripheral.services) {        NSLog (@"discovered service UUID: %@",s.UUID);        if ([s.UUID isEqual:[self.class serviceUUID]]) {            NSLog(@"discover characteristics...");            [self.peripheral discovercharacteristics:@[[self.class controlPointCharacteristicUUID],[self.class packetCharacteristicUUID]] forService:s];        }    }}

控制台显示:

2014-11-27 15:54:51.933 k[197:13362] dIDdiscoverServices succeeded for peripheral: BootK2014-11-27 15:54:51.934 k[197:13362] Number of services: 0
解决方法 我唯一能想到的是[self.class serviceUUID]与您正在寻找的服务的UUID不匹配.当您启动扫描时,是否按服务UUID进行过滤?

[self.centralManager scanForperipheralsWithServices:[self.class serviceUUID] options:nil];

如果没有,这可以解释为什么您能够发现并连接到它,但不能发现该特定服务.

总结

以上是内存溢出为你收集整理的iOS Core Bluetooth:在外围设备上未发现广告服务全部内容,希望文章能够帮你解决iOS Core Bluetooth:在外围设备上未发现广告服务所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1039076.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存