I need a library or framework for bluetooth communication for iOS but not for Bluetooth LE.
I want to communicate a device that cast bluetooth package, but my device not support LE. I have iPhone 4, iPhone 4s and newer support Bluetooth LE.
for this iPhone 4s and newer version there ne problem lots of example I can find and also CoreBluetooth library support this.
So I want proper library or framework for this.
Any Idea or Suggestion would be highly welcome.
Core Bluetooth is designed specifically for Bluetooth LE, a.k.a. BLE, Bluetooth 4.0 and Smart Bluetooth.
Core Bluetooth does not work with the older, classic Bluetooth devices. Those require special APIs and hardware available through Apple's MFi program. Already answered
Related
I have a medical device which is Bluetooth enabled with version 2.1+EDR.
I want to integrate the device inside my application. I am targeting mainly the iOS devices with BLE/Bluetooth 4.0 .
Any idea the latest iOS devices will be compatible with mentioned medical device. IF so how will be the approach.(means I can use Corebluetooth ,EAAccessory framework or I have enroll the MFi Program).
If the device is Bluetooth 4/Bluetooh Low Energy (also known as Bluetooth Smart) the you can use Core bluetooth. If it is Bluetooth 2.1 then you need to go through the MFI program and embed an Apple chip in your device I order to identify it to iOS and use the external accessory framework
I am using CoreBluetooth framework for first time in my Objective-c code.
My iPhone version is iPhone-3GS.
When I run my code, I get output as "The platform or hardware does not support Bluetooth low energy".
I saw 3GS specifications and got to know that it supports v2.1 with A2DP. But what I expected is whether Bluetooth is powered ON or powered OFF.
How can I get Bluetooth status through objective-c code using CoreBluetooth framework?
How to get Bluetooth status through Objective-c ?
Can anyone share a link or tutorial on this?
CoreBluetooth is the API meant for Bluetooth LE in iOS5+.
It does not support "normal" Bluetooth or any "normal" Bluetooth profiles.
As far as I remember, the first iOS device supporting Bluetooth LE was the iPhone 4S - your 3GS just does not have the correct hardware.
Bluetooth LE is part of Bluetooth 4.0 and meant for reading sensors and alike...
https://en.wikipedia.org/wiki/Bluetooth_low_energy
You will definitely not make it work using your 3GS, sorry.
We are making MFi hardware and an iOS app. We will want to have the BT device notify our app even if we are not running periodically when certain events happen.
I know the CoreBluetooth API is the one to use, but can't tell for sure if that API only works with BT Low Energy devices or if it will also work with regular (MFi of course) BT 2.1 and higher devices.
So my question is: Does the CoreBluetooth API only work with Bluetooth Low Energy devices or will it also work with 2.1 devices?
Core Bluetooth is designed specifically for Bluetooth LE, a.k.a. BLE, Bluetooth 4.0 and Smart Bluetooth.
Core Bluetooth does not work with the older, classic Bluetooth devices. Those require special APIs and hardware available through Apple's MFi program.
I have a Bluetooth 4.0 Low Energy board. I want to develop a iOS app for the iPhone 4S that receives and sends data from the board.
What framework do I need to reseach/find-documentation-for? Will the Core Bluetooth framework in the iOS SDK work? Will I need to use the GameKit framework?
I just started looking into iOS development a few days ago so I'm trying to navigate through this maze! Thanks!
Core Bluetooth which is part of the iOS5 SDK is all that you need.
You do not need Gamekit or MFi to develop Bluetooth low energy apps.
You will also need a device that supports Bluetooth Low Energy 4.0 (iPhone 4S or the new iPad) to test your app.
Frameworks which are used for discovering the device via Bluetooth are:
CoreBluetooth framework for discovering BLE devices
GameKit Framework for discovering other type of devices.
EAaccessory framework which can be used to interact with paired Bluetooth devices or devices connected through wired, Apple Connector at the base of the device.
Apple MFi Program means you will have a device that is designed to be compatible with iOS devices (meaning, the manufacturer must be a member of the Apple MFi program) and the device manufacturer most provide a protocol that you must add to your applications info.plist file.
Focus on Core Blutooth. Gamekit will only be useful with other iOS devices.
Would the following be possible?
Let's say I have a scale with Bluetooth capabilities, when I turn it on, it sends the weight via BT.
Is it technically possible to develop an iOS app which pairs with the scale and receives the data from it?
According to Apple:
Technical Q&A QA1657: Using External
Accessory framework with Bluetooth
devices.
Q: I understand that the External Accessory framework in iOS 3.0 and later will allow my application to communicate with Bluetooth devices. So why doesn't my application see the Bluetooth accessory sitting next to my iPhone?
A: The External Accessory framework is designed to allow iOS applications to communicate only with hardware accessories that are developed under Apple's MFi licensee program. MFi compliant accessories can be implemented as wired devices, meaning they plug in to the Apple device's 30-pin or Lightning connector, or as wireless devices, whereby they use Bluetooth as the communication channel. Either way, an application that uses the External Accessory framework will not be notified of an accessory's presence unless the accessory identifies itself as being MFi compliant, i.e., it was specifically designed to interface with an iOS application.
Yes, we can connect Bluetooth devices with iOS application through Core bluetooth framework. This framework is supported on the iPhone 4s, iPhone5,iPhone 5S ,iPad3. We can use BLE 4.0 for the communication between scale and iOS application. Here, iOS application become the client and scale become the peripheral. You Can set as well as get data from the weighing scale.
While the External Accessory Framework with Bluetooth is one of the possible solutions, it has additional requirements to be built as per Apple MFi, here Bluetooth reference is to the Classic Bluetooth (Version 3.x and below)
The best solution for the use case you have defined is to use the Bluetooth Low Energy (LE) (aka Bluetooth Smart) technology (Bluetooth 4.0) and it is available to applications as part of the Core Bluetooth Frameworks
Here are the APIs for Core Bluetooth that applications can use.
While currently Bluetooth Low Energy is supported on the latest iPhone 4S, New Mac Mini & Macbook Air - its expected most new Apple & Others hardware will have this standard.