title: How to use Bluetooth on iPhone in Cordova application?
body: <p>I'm developing a mobile application (iOS and Android) that is communicating via Bluetooth with embedded arm-based device running Linux. The communication is client-server. Phone (client) pairs with device, connects to it and sends queries. Device replies to these queries.</p>
  
  <p>I have decided to use Cordova (and Ionic framework) for the mobile development. The Android part is done. For the communication I'm using BluetoothSerial plugin (<a href="https://github.com/don/BluetoothSerial" rel="nofollow">https://github.com/don/BluetoothSerial</a>).</p>
  
  <p>The server part on the device is based on this tutorial: <a href="https://people.csail.mit.edu/albert/bluez-intro/x502.html#rfcomm-server.c" rel="nofollow">https://people.csail.mit.edu/albert/bluez-intro/x502.html#rfcomm-server.c</a> </p>
  
  <p>Recently I purchased iPhone SE and I want to target iOS. All is working fine except the Bluetooth communication.</p>
  
  <p>If I'm understanding it correctly, Bluetooth communication on iPhone is limited to just Bluetooth Smart (or Bluetooth Low Energy/BLE). The BluetoothSerial plugin that I'm using is, capable to communicate on iOS with very limited number of devices.</p>
  
  <p>So my questions are:</p>
  
  <ol>
  <li><p>Is it possible to have full Bluetooth support on iOS? By full I mean a chat-like communication where client (phone) is sending some structured data and the device is replying also some structured data in text .</p></li>
  <li><p>If so, can I use BluetoothSerial plugin? I have also find BLE plugins for Cordova but they seem to have very limited support for Bluetooth communication (from my perspective). They are just for getting or writing some advertised characteristics on BLE device.</p>
  
  <ul>
  <li><a href="https://github.com/don/cordova-plugin-ble-central" rel="nofollow">https://github.com/don/cordova-plugin-ble-central</a>,</li>
  <li><a href="https://github.com/randdusing/cordova-plugin-bluetoothle" rel="nofollow">https://github.com/randdusing/cordova-plugin-bluetoothle</a>)</li>
  </ul></li>
  <li><p>If I have to use BLE-based solution I think that I have to also rewrite server code on the device. Am I right?</p></li>
  </ol>
  
  <p>Thank you for any cues, suggestions or solutions.  </p>