iOS蓝牙CBCharacteristic UUID弃用?

在最新的Apple文档中,CBCharacteristic的UUID属性通过它绘制了一条线,并且仅在5.0到7.1之间才提供该标记。 但是,你通常期望看到的“被弃用的”这个词根本就没有。

更重要的是,没有什么可以确定一个特征的build议,例如,当我们在委托方法外围设备中传递一个特征时:didUpdateValueForCharacteristic :. 在这种方法中,决定我正在处理的是哪个特征是至关重要的。 CBCharacteristic实例的描述符成员是零。 那里还有什么? 苹果计划如何区分特征? UUID的全部是识别…

安德鲁是真的,UUID现在已经在IOS8中成为一个inheritance的属性。
以下是苹果公司文件的证据
CoreBluetooth在IOS8 API差异的变化

CBAttribute.h(已添加)

增加了CBAttribute
添加了CBAttribute.UUID

CBCharacteristic.h

删除了CBCharacteristic.UUID
修改CBCharacteristic
超:
从NSObject到CBAttribute


而许多其他基本的CoreBluetooth类(包含UUID)采用了这种变化

但是,CBCharacteristic的类引用仍然表示它从NSObjectinheritance。

所以这是错误的,开发人员可以很容易地将UUID理解为IOS8中的弃用属性

查看CBCharacteristic的标题可以看出这一点。 在类中没有更多的UUID属性,但CBCharacteristic现在是CBAttribute的子类,它具有UUID属性。 而这个(新)父类被标记为在iOS 8开始可用。

这可以解释为什么UUID成员有一个删除线,但没有“弃用”警告:您仍然可以获得UUID,但它是inheritance而不是直接属于CBAttribute。