title: ios ble "Characteristic User Description"
body: <p>Trying to retrieve readable information from an characteristics by using the function:</p>
  
  <pre><code>peripheral.discoverDescriptors(for: characteristic)
  </code></pre>
  
  <p>Later the delegate method:</p>
  
  <pre><code>func peripheral(_ peripheral: CBPeripheral, didDiscoverDescriptorsFor characteristic: CBCharacteristic, error: Error?) 
  </code></pre>
  
  <p>is called but how can I get the string description? When I read the value from the descriptors it's always <code>nil</code>.</p>
  
  <pre><code>let descriptors = characteristic.descriptors! as [CBDescriptor]
  for descriptor in descriptors {
      print("\(#function): descriptor = \(descriptor) UUID = \(descriptor.uuid) value = \(descriptor.value)")
  }
  </code></pre>
  
  <p>However, if I'm browsing and connecting with an BLE scanner it can read the characteristic human readable descriptors.</p>