'How do I handle NSInlineData from Bluetooth scanning?

I want to use data that is passed through Bluetooth scan. and I want to split and use data from NSInlineData.

I import data via Bluetooth scan as follows.

func centralManager(_ central: CBCentralManager, didDiscover peripheral: CBPeripheral, advertisementData: [String : Any], rssi RSSI: NSNumber) {
    if !peripherals.contains(peripheral){
        peripherals.append(peripheral)
    }

    let key = peripheral.identifier.uuidString
    let data = advertisementData.description
    let rawData = advertisementData
    rawData.forEach { (key, val) in
        print("\(key)   :   \(val)")
    }

    print("uuid: \(key)")
    if let previous = datas[key] {
        if (previous != data) {
            datas.updateValue(data, forKey: key)
            rawdatas.updateValue(advertisementData, forKey: key)
        }
    } else {
        datas[key] = data
        rawdatas[key] = advertisementData
    }
}

The form of the data is as follows.

//uuid: 81DB0A8E-6C47-1ADF-E1C5-3D7D4269D66D

//kCBAdvDataIsConnectable   :   0
//kCBAdvDataServiceData   :   {
//    FEAA = <20000200 19400000 03d80000 0000>;
//}
//kCBAdvDataServiceUUIDs   :   (
//    FEAA
//)

The following data were extracted.

if rawdata["kCBAdvDataServiceData"] != nil{
    let parseData:NSDictionary = rawdata["kCBAdvDataServiceData"] as! NSDictionary
    let data = parseData.allValues.first
    // data => optional(<20000200 19400000 03d80000 0000>)
    // data type => _NSinlineData
}

I want to take out the number 5,6,7,8(0200) from the data and replace it with a decimal number. I don't know how to handle NSInlineData.



Solution 1:[1]

rawdata["kCBAdvDataServiceData"] as? [CBUUID: Data]

NSDictionary is bridged to Dictionary in Swift, which can be represented as [:].

_NSInlineData is the internal type (as indicated by _). It is NSData, which is bridged to Data in Swift.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 grg