title: How to Programmatically Handle BLE Peripheral Removing Pairing from iOS Device
body: <p>With an iOS app running in Central mode, and a BLE peripheral (e.g. the BLE113) with encrypted GATT characteristics - when the iOS app scans for and connects to the peripheral, it will automatically request a pairing when it discovers encrypted GATT characteristics.</p>
  
  <p>If the iOS device and BLE peripheral each stay paired, everything is fine.</p>
  
  <p>However, how does one handle the case where the BLE peripheral removes all of it's bonding information internally, without informing the iOS device that it's deleting the pairing keys?</p>
  
  <p>iOS CoreBluetooth commands will just fail. </p>
  
  <p>Is there anything that can be done programmatically to fix this problem? Either re-request a pairing, or unpair the iOS side? </p>
  
  <p>iOS is pretty restricted with Bluetooth - so I can't see much of a good solution, other than to detect when writes fail, and ask the user to unpair manually (which is lame)</p>