title: didUpdateValueForCharacteristic do not call in BLE system, swift 3
body: <p>I don´t understande why <code>didUpdateValueForCharacteristic</code> do not call when i write in BLE.</p>
  
  <p>My class is</p>
  
  <pre><code>class MachineShopping: UIViewController, BluetoothDelegate, CBCentralManagerDelegate {
  
      fileprivate let bluetoothManager = BluetoothManager.getInstance()
      fileprivate var showAdvertisementData = false
      fileprivate var services : [CBService]?
      fileprivate var characteristicsDic = [CBUUID : [CBCharacteristic]]()
  
      var lastAdvertisementData : Dictionary&lt;String, AnyObject&gt;?
      fileprivate var advertisementDataKeys : [String]?
  
      var dataTableView: UITableView!
      var tableViewHeight: NSLayoutConstraint!
      var characteristic : CBCharacteristic?
      @IBOutlet weak var payBtn: UIButton!
  
      // var myCentralManager = CBCentralManager(delegate: self as! CBCentralManagerDelegate, queue: nil)
  
      override func viewWillAppear(_ animated: Bool) {
          super.viewWillAppear(animated)
          bluetoothManager.delegate = self
      }
  
  
      override func viewDidLoad() {
          super.viewDidLoad()
          // Do any additional setup after loading the view, typically from a nib.
  
          self.navigationItem.title = "Buy"
          self.view.backgroundColor = UIColor(patternImage: UIImage(named: "backgroundapp.png")!)
          let button = UIBarButtonItem(title: "Back", style: UIBarButtonItemStyle.plain, target: self, action: #selector(MachineShopping.backbuttonTapped))
          button.tintColor = UIColor.white
          self.navigationItem.leftBarButtonItem = button
  
          payBtn.layer.cornerRadius = 10
          payBtn!.titleLabel!.font = UIFont.boldSystemFont(ofSize: 16.0)
          initAll()
      }
  
      // MARK: custom functions
      func initAll() {
  
          advertisementDataKeys = ([String](lastAdvertisementData!.keys)).sorted()
          bluetoothManager.discoverCharacteristics()
          services = bluetoothManager.connectedPeripheral?.services
  
      }
  
      func centralManagerDidUpdateState(_ central: CBCentralManager!) {
          print("I'm HERE 1")
      }
  
      public func peripheral(_ peripheral: CBPeripheral, didUpdateValueFor characteristic: CBCharacteristic, error: Error?) {
          print("I'm HERE 2")
  
          let rxData = characteristic.value
          if let rxData = rxData {
              let numberOfBytes = rxData.count
              var rxByteArray = [UInt8](repeating: 0, count: numberOfBytes)
              (rxData as NSData).getBytes(&amp;rxByteArray, length: numberOfBytes)
              print(rxByteArray)
          }
      }
  
  
  
      func didDiscoverCharacteritics(_ service: CBService) {
  
          //Active notifications
          characteristicsDic[service.uuid] = service.characteristics
          characteristic = service.characteristics![1]
          bluetoothManager.setNotification(enable: true, forCharacteristic: characteristic!)
      }
  
      @IBAction func payButtonTapped(_ sender: Any) {
  
          let textContent: String = "7E"
  
          var hexString = textContent.substring(from: textContent.characters.index(textContent.startIndex, offsetBy: 2))
          if hexString.characters.count % 2 != 0 {
              hexString = "0" + hexString
          }
  
          let data = hexString.dataFromHexadecimalString()
          bluetoothManager.writeValue(data: data!, forCharacteristic: characteristic!, type: CBCharacteristicWriteType.withResponse)
  
      }
  
      func backbuttonTapped(){
  
          let mapViewControllerObejct = self.storyboard?.instantiateViewController(withIdentifier: "ListIdentifier") as? List
          self.navigationController?.pushViewController(mapViewControllerObejct!, animated: true)
      }
  }
  </code></pre>
  
  <p>Same body help me... 
  I searched the internet for an example of how to establish communications with ios and BLE, but I did not find any.</p>