title: didDiscoverServices is not being called after a BLE connection
body: <p>I'm working with a BLE device which I need to verify. The BLE code I'm using is below</p>
  
  <pre><code>//Pragma Bluetooth Methods
  func centralManagerDidUpdateState(_ central: CBCentralManager) {
      if central.state == .poweredOn {
          central.scanForPeripherals(withServices: nil, options: nil)
      } else {
          print("Bluetooth not available.")
      }
  }
  
  func centralManager(_ central: CBCentralManager, didDiscover peripheral: CBPeripheral, advertisementData: [String : Any], rssi RSSI: NSNumber){
      if let peripheralName = advertisementData[CBAdvertisementDataLocalNameKey] as? String {
          if peripheralName == "test-device1" {
              self.manager.stopScan()
  
              self.peripheral = peripheral
              self.peripheral.delegate = self
  
              self.manager.connect(peripheral, options: nil)
          }
      }
  
  }
  
  func centralManager(_ central: CBCentralManager, didConnect peripheral: CBPeripheral) {
      peripheral.discoverServices(nil)
  }
  
  private func peripheral(peripheral: CBPeripheral, didDiscoverServices error: Error?) {
      for service in peripheral.services! {
          let thisService = service as CBService
  
          if service.uuid == SERVICE_UUID {
              peripheral.discoverCharacteristics(
                  nil,
                  for: thisService
              )
          }
      }
  }
  </code></pre>
  
  <p>The process follows the anticipated route by passing through didDiscover and verifying the name as 'test-device1'. However, although it goes through the didConnect method and runs peripheral.discoverServices(nil) it never reaches the didDiscoverServices method. I've stepped through it several times and it always stops at didConnect().</p>
  
  <p>What am I missing?</p>