7

我正在修改一个通过蓝牙 BLE 发现设备的应用程序,以便将值绘制到图表中。一切正常(感谢你们中的一个人在过去一周的帮助)。该应用程序最初是我丈夫不久前编写的,在发现设备期间,他正在使用以下检查代码:

NSLog(@" Failed to Connect to Peripheral : %@   with UUID: %@   ", peripheral, peripheral.UUID);

或者

NSLog(@" Connected to Peripheral : %@   with UUID: %@   ", peripheral, peripheral.UUID);

在这些行中的每一行(以及更多行)之前,我收到了 UUID 已弃用的警告消息:首先在 ios 7.0 中弃用 很长一段时间以来,我试图找出它已被替换的内容,但在谷歌上,它没有'看起来不像其他人有同样的问题,当我去苹果文档时:这里

没有提到它被弃用。

我不明白...

有人可以帮忙吗?谢谢

编辑:添加一些信息

这是我在控制台上的计算机上得到的

在此处输入图像描述

4

3 回答 3

17

更新

我已经仔细检查过,CBPeer 上的 UUID 属性也已弃用。

从我发现的 Xcode 文档中 -

弃用声明
请改用标识符属性。

如果您使用peripheral.identifier.UUIDString,您不会收到弃用警告。

于 2014-10-09T19:40:49.637 回答
3

所以,以防万一有人读到这个:这是找出使用什么而不是弃用的 API 调用的一般方法。
1)标记已弃用的调用
2)右键单击“跳转到定义”
3)阅读那里所说的内容。

对于此处询问的 UUID,答案将是以下 2 行:

@property (readonly, nonatomic) NSUUID *identifier NS_AVAILABLE(NA, 7_0);
于 2015-02-24T04:05:25.773 回答
2

可以通过advertisementDataServiceUUIDsKey在advertisementData中访问服务UUID

- (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI
于 2015-07-20T06:32:56.763 回答