title: BLE Button Disconnecting after ~30 seconds
body: <p>I'm implementing a simple connection to a blue tooth low energy push-to-talk button. Everything works well, except the fact that the device (iphone) disconnects from the peripheral after ~30 seconds.</p>
  
  <p>I'm using a singleton to manage the <code>CBCentralManager</code> and hold a strong ref to the <code>CBPeripheral</code>, and after reading all of the other StackOverflow questions/answers, I couldn't find anything concise.</p>
  
  <p>Here is the code:</p>
  
  <pre><code>//DeviceManager.m
  
  -(void)peripheral:(CBPeripheral *)peripheral didDiscoverServices:(nullable NSError *)error{
      NSArray *services = peripheral.services;
      for(CBService *service in services){
          if([service.UUID.UUIDString isEqualToString:(NSString*)UUID_SERVICE_BUTTON]){
              [peripheral discoverCharacteristics:nil forService:service];
          }
      }
  }
  -(void)peripheral:(CBPeripheral *)peripheral didDiscoverIncludedServicesForService:(CBService *)service error:(NSError *)error{
  
  }
  -(void)peripheral:(CBPeripheral *)peripheral didDiscoverCharacteristicsForService:(CBService *)service error:(NSError *)error{
      NSLog(@"START DATE %@",[NSDate new]);
      NSArray &lt;CBCharacteristic*&gt; * characteristics = service.characteristics;
      for (CBCharacteristic *characteristic in characteristics) {
          [peripheral setNotifyValue:YES forCharacteristic:characteristic];
          if([characteristic.UUID.UUIDString isEqualToString:(NSString*)UUID_SERVICE_BUTTON_CHARATERISTIC_STATE]){
          }
          [peripheral discoverDescriptorsForCharacteristic:characteristic];
      }
      self.peripheralManager = [[CBPeripheralManager alloc]initWithDelegate:self queue:nil];
  
  }
  -(void)peripheral:(CBPeripheral *)peripheral didDiscoverDescriptorsForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error{
      NSLog(@"%@",characteristic);
      [peripheral setNotifyValue:YES forCharacteristic:characteristic];
  }
  </code></pre>
  
  <p>** Keep in mind the BT device has only 1 service, 1 characteristic, and 1 descriptor **</p>
  
  <p>What am I missing here??</p>
  
  <p>Thanks!</p>