1

I am starting to develop an App with Core Bluetooth Framework.

I have my code working correctly I believe, because Its triggering the correct delegate methods from CBCentralManager Delegate however I would like to know if there is a way to detect if the Device reaching is BlueTooth Smart (BLE) technology? Or does the iphone ONLY detects Bluetooth Smart technology and ignores IOBluetooth(Bluetooth 4.0 and <)?

The app is for iPhone >= 5.

PS: I have read about External Accessory Framework and IOBluetooth... Which made me realize something else.

Does the iOS 7 supports "Classical" Bluetooth framework? Because I can't seem to add it to the framework library. It's not listed as an option, not found as an #import.

S.H.
  • 2,833
  • 3
  • 26
  • 28

2 Answers2

4

Core Bluetooth Framework works only with Bluetooth Low-Energy (BLE) and does not detect other Bluetooth devices.

Steve
  • 1,840
  • 17
  • 20
  • I understand, thought it would help detect the other bluetooth as well I just thought it was not able like to read the data they send. Anyways... is there a way to know if a device is Bluetooth or Bluetooth smart? – S.H. Jan 10 '14 at 16:34
  • When you use scanForPeripheralsWithServices:(NSArray *)serviceUUIDs options:(NSDictionary *)options and pass nil as the array of serviceUUIDs, your app will discover all BLE devices that are advertising within range. It will not detect non-BLE devices. – Steve Jan 10 '14 at 16:38
  • Thanks, I knew about the Services being nil would give me all devices. But that is why I thoght it would give me non BLE devices as well. But thanks for the clarification. This means that is either External Accessory Frameowork or IOBluetooth framework. Which I am having trouble to find to add for iOS 7. – S.H. Jan 10 '14 at 16:46
  • 1
    On iOS you should use the EA Framework. IOBluetooth is for the Mac, not iOS. The EA will work with other iOS devices but other HW needs MFi certification. – allprog Jan 10 '14 at 21:38
2

Apple's documentation says that it's only for BLE devices:

The Core Bluetooth framework provides the classes needed for your iOS and Mac apps to communicate with devices that are equipped with Bluetooth low energy wireless technology. For example, your app can discover, explore, and interact with low energy peripheral devices, such as heart rate monitors and digital thermostats.

Michael Dautermann
  • 88,797
  • 17
  • 166
  • 215
  • I read this before. But I thought it was still possible to detect not talk to other bluetooth devices. Is there anyway to know if a device is bluetooth smart or just bluetooth? – S.H. Jan 10 '14 at 16:34
  • There's also [External Accessory framework](https://developer.apple.com/library/ios/featuredarticles/ExternalAccessoryPT/Introduction/Introduction.html), and if you're thinking of Audio Devices in particular [you can check out this similar question I asked just a few days ago](http://stackoverflow.com/questions/20896528/how-to-find-bluetooth-audio-devices-in-ios). – Michael Dautermann Jan 10 '14 at 16:37
  • Yeah I researched about External Accessory Framework... the problem is that I am trying to connect to a device that has an Electronic Dashboard and has Bluetooth. And I was like to be able to read the data being displayed in the dashboard in my device. So I was thinking External Accessory wouldn't work because it was more for simple devices like the Audio Devices. – S.H. Jan 10 '14 at 16:40