I am developing an iOS app that scans all nearby BLE devices to gather information on them. I am using CoreBluetooth framework's CBCentralManager object to scan, getting data in its didDiscover peripheral delegate method. I can't get the device appearance or class of device (like computer, wearable, phone etc.) using the predefined keys for advertisementData or from the CBPeripheral object.
According to the Bluetooth SIG, this information could be gathered from the raw advertisement data, but that is not available on iOS. I've seen other iOS apps be able to extract device type data to some extent (eg. nRF Connect).