I bought my current Macbook Pro new less than 6 months ago, but my instance of CBCentralManager returns CBCentralManagerStateUnsupported for [centralManager state];
My mac uses Bluetooth software version 4.0.3f12 but I can't find anything that says it supports Bluetooth LE, and I can't find any relevant documentation from Apple saying what Macs support LE. Where can I find this documentation, and if my Mac is in fact not a Bluetooth LE device, what suggestions do you have for bluetooth communications between Mac and iOS? I have an iPhone 4S with Bluetooth LE hardware.
I have a old iMac with "Cambridge Silicon Radio" that does not support low energy and it gets CBCentralManagerStateUnsupported , my MBA from last year does however with a Broadcom chip and i get CBCentralManagerStatePoweredOn for it, they both have version 4.0.3f12 but that is not to be confused with version 4.0 of the Bluetooth spec.
Here are the details from Bluetooth Explorer
To use CoreBluetooth you will need low energy compatible BT 4.0 chips other than that the only other api with bluetooth is GameKit
Even the current page of tech specs on macbook pro says it has "Bluetooth 2.1 + EDR", which means no LE. If it supported LE, it would say BT 4.0
http://store.apple.com/us/browse/home/shop_mac/family/macbook_pro
(see tab "tech specs")
Don't confuse Bluetooth software version (which is just an apple thing relating to their host stack) with Bluetooth spec numbers.
Related
I want to develop a toy car, which I can use iPhone to control it. My toy car has a bluetooth interface. So I am wondering is it possible to connect to it from my iPhone. The toy car is not a MFi (made for iPhone/iPod/iPad) program.
My iPhone mode is iPhone 4S.
If not possible, is there any alternative way?
Without joining Apple's Made for iPhone (MFi) program, your choices are really WiFi or Bluetooth LE. WiFi is more power-hungry and, unless you're very careful in your chip selection, can be difficult to implement. Bluetooth LE is only supported by iPhone 4S and the new iPad (i.e. 3rd-gen); it's likely to be supported in future iOS devices, such as the new iPhone and much-rumoured 'mini' iPad.
Just Bluetooth 4.0 isn't enough, from my understanding, it needs to be Bluetooth 4.0 LE (the low-energy variant). Support for such devices is provided in the iOS 5.0 SDK and later with the CoreBluetooth framework. See Apple's documentation on the CoreBluetooth framework [free developer registration required].
I would like to connect to the iPhone a device that was not manufactured specifically for the iPhone. It can be accessed from a PC through USB, so what I'd like to do is connect it through an iPhone dock connector-USB adaptor. I am aware of the previous questions regarding this topic but most of them seem outdated.
Can it be done in the newest iOS SDK (5.0 or higher)? (If no, can I dit it with a jailbroken iPhone?)
Are there any limitations?
Do I have to join the MFI program? AFAIK, MFI program is aimed at companies that are creating hardware components together with the software.
You should be able to do it with a jailbroken phone.
Otherwise you would have to join the MFI, and it would additionally require custom hardware on the device.
Trying to get iPhone / iPad / iPod Touch to connect to a generic Bluetooth Device.
Works for Windows 7 Bluetooth / Android Bluetooth / Mac Laptop Bluetooth, but does not seem to work with any of the Apple iOS devices.
I assume that this is an Apple decision to limit the user of Bluetooth Devices to only the devices that they seem "correct". So just want to make sure this is the case.
What is the generic bluetooth device ? and what bluetooth profile does it use ?
Devices connect only with compatible devices which have the compatible profile, not all devices support all profiles.
In Addition with iOS if you are using SPP there is additional requirement to develop as per the Apple MFi guidelines.
If you have a Bluetooth 4.0 Low Energy device, you can do it using the new Core Bluetooth framework (assuming you have an iPhone 4S). Otherwise, as noted, only approved devices will connect.
How would I program an iPhone app that utilitizes bluetooth SPP to connect to another bluetooth device? I can't find the documentation anywhere.
Thanks so much.
EDIT
I guess Mac OS X uses RFCOMM but i can't find anything similar in iphone documentation
As mentioned here:
iPhone Development with Bluetooth SPP OS 3/4
It's not supported and I doubt they will both supporting it either:
http://support.apple.com/kb/HT3647
I'd love them to support it too, but I just don't think it's going to happen. Because it doesn't help them to sell more gear, it becomes a very low priority.
I am in the process of developing an iPhone application that communicates with a number of Bluetooth devices that all support Serial Port Profile - well I assume that it is SPP as they show on my MacBook as Serial Port DevB etc.
I understand that iPhone OS 3.x does not support SPP - is that correct? Does anyone know if that has been "fixed" in OS 4? I've seen reports of OS 4 supporting keyboards, but is that a locked version of HID, or will SPP be available via the SDK?
Kind Regards,
Nige.
It appears to be a locked version of HID, you can track Bluetooth support here:
http://support.apple.com/kb/HT3647