Watch, Follow, &
Connect with Us

For forums, blogs and more please visit our
Developer Tools Community.


Welcome, Guest
Guest Settings
Help

Thread: Classic Bluetooth for iOS


This question is answered. Helpful answers available: 2. Correct answers available: 1.


Permlink Replies: 6 - Last Post: Oct 6, 2014 5:16 PM Last Post By: Chuah Yen Hua,C...
Chuah Yen Hua,C...

Posts: 73
Registered: 7/5/97
Classic Bluetooth for iOS  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Sep 30, 2014 2:54 AM
hi
I can use TBluetoothManager for OS X. But i can't use for iOS.
Is there a component for classic bluetooth on iOS?

please help

thanks
chris
Eli M

Posts: 1,346
Registered: 11/9/13
Re: Classic Bluetooth for iOS  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Sep 30, 2014 6:51 AM   in response to: Chuah Yen Hua,C... in response to: Chuah Yen Hua,C...
Chuah Yen Hua,C...

Posts: 73
Registered: 7/5/97
Re: Classic Bluetooth for iOS  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Sep 30, 2014 5:27 PM   in response to: Chuah Yen Hua,C... in response to: Chuah Yen Hua,C...
Hi
I have an external Bluetooth Body Thermometer.
I tried to use the Bluetooth LE component to discover devices but there is no devices coming back from the OnEndDiscovery event.

I tried to use the System.Bluetooth component and it was able to return the device on the OnEndDiscovery event.
When probe on the type of bluetooth device, it return classic bluetooth

The same device is able to pair on my iPad but I need to write an app on the iPad to communicate with this Bluetooth thermometer.
Is there any component available to implement on iPad?

please advise

thanks
chris

Chuah Yen Hua,Christopher wrote:
hi
I can use TBluetoothManager for OS X. But i can't use for iOS.
Is there a component for classic bluetooth on iOS?

please help

thanks
chris
Remy Lebeau (Te...


Posts: 9,447
Registered: 12/23/01
Re: Classic Bluetooth for iOS  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Sep 30, 2014 7:26 PM   in response to: Chuah Yen Hua,C... in response to: Chuah Yen Hua,C...
Chuah wrote:

I tried to use the System.Bluetooth component and it was able to return
the device on the OnEndDiscovery event.

When probe on the type of bluetooth device, it return classic bluetooth

System.Bluetooth does not support "classic" Bluetooth on iOS. This is stated
as much in the documentation:

http://docwiki.embarcadero.com/RADStudio/XE7/en/Using_Bluetooth
http://docwiki.embarcadero.com/RADStudio/XE7/en/Using_Classic_Bluetooth

The same device is able to pair on my iPad but I need to write an app on
the iPad to communicate with this Bluetooth thermometer.

Older iOS versions did not support "classic" Bluetooth, and recent iOS versions
only support "classic" Bluetooth devices that are MFI certified (ie, specifically
designed to work with iOS and have special hardware protocols to accomplish
that). "Classic" devices are managed at the OS layer instead of the application
layer, and the only way that an application is allowed to communicate with
a connected "classic" device is through Apple's "External Accessory framework":

Using External Accessory framework with Bluetooth devices
https://developer.apple.com/library/ios/qa/qa1657/_index.html

About External Accessories
https://developer.apple.com/library/ios/featuredarticles/ExternalAccessoryPT/Introduction/Introduction.html

Bluetooth LE does not have those limitations.

In order to work with your thermometer, you are going to have to skip Embarcadero's
System.Bluetooth implementation on iOS and use the External Accessory framework
directly. Or get a thermometer that supports Bluetooth LE.

--
Remy Lebeau (TeamB)
Chuah Yen Hua,C...

Posts: 73
Registered: 7/5/97
Re: Classic Bluetooth for iOS  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Sep 30, 2014 8:26 PM   in response to: Remy Lebeau (Te... in response to: Remy Lebeau (Te...
Hi Remy

The manufacturer of the bluetooth thermometer has an iOS app that allows the iPad to retrieve the data from the thermometer after it is paired with the iPad.

if the manufacturer iOS app is able to communicate with the device, does it mean that the device is running bluetooth LE? or how does it communicate with the device via bluetooth?

please advise

thanks
chris

Remy Lebeau (TeamB) wrote:
Chuah wrote:

I tried to use the System.Bluetooth component and it was able to return
the device on the OnEndDiscovery event.

When probe on the type of bluetooth device, it return classic bluetooth

System.Bluetooth does not support "classic" Bluetooth on iOS. This is stated
as much in the documentation:

http://docwiki.embarcadero.com/RADStudio/XE7/en/Using_Bluetooth
http://docwiki.embarcadero.com/RADStudio/XE7/en/Using_Classic_Bluetooth

The same device is able to pair on my iPad but I need to write an app on
the iPad to communicate with this Bluetooth thermometer.

Older iOS versions did not support "classic" Bluetooth, and recent iOS versions
only support "classic" Bluetooth devices that are MFI certified (ie, specifically
designed to work with iOS and have special hardware protocols to accomplish
that). "Classic" devices are managed at the OS layer instead of the application
layer, and the only way that an application is allowed to communicate with
a connected "classic" device is through Apple's "External Accessory framework":

Using External Accessory framework with Bluetooth devices
https://developer.apple.com/library/ios/qa/qa1657/_index.html

About External Accessories
https://developer.apple.com/library/ios/featuredarticles/ExternalAccessoryPT/Introduction/Introduction.html

Bluetooth LE does not have those limitations.

In order to work with your thermometer, you are going to have to skip Embarcadero's
System.Bluetooth implementation on iOS and use the External Accessory framework
directly. Or get a thermometer that supports Bluetooth LE.

--
Remy Lebeau (TeamB)
Remy Lebeau (Te...


Posts: 9,447
Registered: 12/23/01
Re: Classic Bluetooth for iOS  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Oct 1, 2014 10:01 AM   in response to: Chuah Yen Hua,C... in response to: Chuah Yen Hua,C...
Chuah wrote:

if the manufacturer iOS app is able to communicate with the
device, does it mean that the device is running bluetooth LE?

No, and you already proved that when you were able to discover the device
using the Classic component and not the LE component. So clearly it is a
Classic device, not an LE device.

how does it communicate with the device via bluetooth?

I already told you how. iOS only supports Classic devices through Apple's
External Accessory framework. So obviously the manufacturer is using that
framework in their app.

Of course, you could just contact the manufacturer and ask.

--
Remy Lebeau (TeamB)
Chuah Yen Hua,C...

Posts: 73
Registered: 7/5/97
Re: Classic Bluetooth for iOS  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Oct 6, 2014 5:16 PM   in response to: Remy Lebeau (Te... in response to: Remy Lebeau (Te...
Thanks Remy.
Will look into how to interface the external Accessory framework.

thanks
chris

Remy Lebeau (TeamB) wrote:
Chuah wrote:

if the manufacturer iOS app is able to communicate with the
device, does it mean that the device is running bluetooth LE?

No, and you already proved that when you were able to discover the device
using the Classic component and not the LE component. So clearly it is a
Classic device, not an LE device.

how does it communicate with the device via bluetooth?

I already told you how. iOS only supports Classic devices through Apple's
External Accessory framework. So obviously the manufacturer is using that
framework in their app.

Of course, you could just contact the manufacturer and ask.

--
Remy Lebeau (TeamB)
Legend
Helpful Answer (5 pts)
Correct Answer (10 pts)

Server Response from: ETNAJIVE02