CBUUID和NSUUID对象之间有什么区别?
我看到在不同的情况下用两个对象填充scanForPeripheralsWithServices .苹果希望有一个CBUUID对象,所以我更愿意使用这种类型,还是?
我的例子:
let MY_SERVICE_UUID = CBUUID(string: "hdl83h6sd-gl95-bn4f-37gd-jd73hd0tn8za") func scanForPeripheralsWithServices(serviceUUIDs: MY_SERVICE_UUID,nil)
发布于 2015-09-23 21:17:54
NSUUID是一个128位数,用于唯一标识对象、类型和其他项。它可以作为字节访问,也可以在字符串形式中常用- 68753A44-4D6F-1226-9C60-0050E4C00067。该类包括用于创建随机UUID和使用特定值初始化的实例的方法。
蓝牙还使用128位标识符作为特征和服务。蓝牙SIG定义了许多“众所周知”的服务和特性。这些值表示为16位值,该值与蓝牙基础UUID相结合,以获得完整的128位值。
CBUUID方法知道这些众所周知的值,并可以自动将16位值转换为它们的128位等效值。如果您没有使用众所周知的值(例如,您已经创建了自己的私有服务和特性),也可以使用128位值初始化CBUUID。
例如,用CBUUID(string:"180F")初始化CBUUID是可以的(这是电池服务),但是NSUUID(string:"180F")会失败,因为它需要全部128位。
在使用核心蓝牙时,您将使用CBUUID作为服务和特性。NSUUID用于外围标识符,因为它只是一个没有定义特殊值的MAC。
https://stackoverflow.com/questions/32749194
复制相似问题