Ios 如何在CoreBluetooth Swift中获取KCBADVDATA ManufacturerData?
我有一个BroadComble外围广播数据,其中包括以制造商数据形式发布的序列号。当我尝试在iOS(Swift)中获取它时,我很难弄清楚如何将其转换为变量或常量 我能够执行:Ios 如何在CoreBluetooth Swift中获取KCBADVDATA ManufacturerData?,ios,iphone,swift,core-bluetooth,Ios,Iphone,Swift,Core Bluetooth,我有一个BroadComble外围广播数据,其中包括以制造商数据形式发布的序列号。当我尝试在iOS(Swift)中获取它时,我很难弄清楚如何将其转换为变量或常量 我能够执行: println("\(advertisementData)") “advertisementData”内置于centralManager功能中。在控制台中,我得到: [KCBADVDATA可连接:0,KCBADVDATAOCALNAME:mangos,KCBADVDATA制造商数据:] 这很好,但我需要将KCBADVDA
println("\(advertisementData)")
“advertisementData”内置于centralManager功能中。在控制台中,我得到:
[KCBADVDATA可连接:0,KCBADVDATAOCALNAME:mangos,KCBADVDATA制造商数据:]
这很好,但我需要将KCBADVDATA ManufacturerData中的数据与字符串进行比较,如果它们相同,则让它执行一个函数
如何准确地创建访问序列号/KCBADVDATA制造商数据的变量?我试过很多不同的路线
函数的代码:
func centralManager(central: CBCentralManager!, didDiscoverPeripheral peripheral: CBPeripheral!, advertisementData: [NSObject : AnyObject]!, RSSI: NSNumber!) {
let localData = advertisementData as NSDictionary
println(localData.objectForKey(CBAdvertisementDataLocalNameKey))
var localName: NSString!
if (localData.objectForKey(CBAdvertisementDataLocalNameKey) == nil)
{
localName = ""
}
else{
localName = localData.objectForKey(CBAdvertisementDataLocalNameKey) as! NSString
if (localName == "test"){
println("Test Found!")
println("\(advertisementData)")
}
}
self.tLog(NSString(format: "Discovered %@, RSSI: %@\n", localName, RSSI))
self.discoveredPeripheral = peripheral
if (self.verboseMode())
{
self.centralManager.connectPeripheral(peripheral, options: nil)
}
}
阿克。我想出来了:
println(advertisementData["kCBAdvDataManufacturerData"] as! NSData)
您是否尝试将其转换为整数数组