How to transfer data from classic Bluetooth device to iOS?
<p>I am writing an app for iOS that needs to receive data from a Bluetooth device (classic Bluetooth, not BLE).  I need a pretty fast data transfer, 1Mbit/s or faster if possible.  This already works using SPP in Android.</p>

<p>Apple only supports some Bluetooth profiles as listed here: <a href="https://support.apple.com/en-us/HT204387" rel="nofollow noreferrer">https://support.apple.com/en-us/HT204387</a> I think these profiles are the only ones supported without being in the MFi program.  MFi is too difficult to deal with so I would really like to avoid it.  SPP is of course not available.</p>

<p>Of these profiles, PAN and maybe A2DP and HFP seem likely to be usable for bulk data transfer.  A2DP or HFP would be a hack as they are really not designed for non-audio data.  This seems to leave PAN.</p>

<p><strong>How can an iOS app transfer data from a classic Bluetooth device using PAN?</strong>  I would like the app to connect and somehow establish a data connection.  This may be over IP (like tethering or reverse tethering using PAN) or non-IP.  I want something which behaves a lot like the SPP profile, in other words a bidirectional serial link between the two sides.  </p>

<p>Note: The Bluetooth device on the other side of this can do anything that is needed (I am writing the device firmware at the same time using a bluetooth stack, probably the TI dual-mode stack).  Extra bounty if you can give me example of PAN tethering using any Bluetooth stack (TI, Synergy, dotstack etc).</p>

<p>See also: <a href="https://stackoverflow.com/questions/29445656/is-possible-to-communicate-via-bluetooth-pan-in-ios-with-tethered-deviced">Is possible to communicate via Bluetooth PAN in iOS with tethered devices</a></p>