iOS: Bluetooth Sharing - ios

I see there is a "Bluetooth Sharing" section under iOS 7/8's Privacy settings:
I have a couple questions about this:
What framework is used to access this?
Is this iOS to iOS device only, or can it be iOS to Android, or iOS to some other peripheral?
Is there anything else required, other than that framework, such as GameCenter or HomeKit; to implement the framework from Question 1?
Would use of it require a Private API?
Thank you for your time!

Apps that specify one of the two Bluetooth background modes (Central or peripheral) will appear in this list.
Details on acting as a Bluetooth Low Energy peripheral or central are contained in the Core Bluetooth Programming Guide
Bluetooth Low Energy can be used between any compatible device, including iOS and Android.

Related

How to connect iOS with BLE and previous versions of Bluetooth

we are about to start developing an app for iOS that reads data sent via Bluetooth from a device. Which framework should we use if the Bluetooth device that sends the data is not BLE 4.0? In addition to this, if it is possible to develop to app by using a different framework, will the same app also be able to connect to BLE 4.0?
Any pointer is highly appreciated.
Thanks in advance for any pointer.
The framework you are looking for is the ExternalAccessory.framework (although there are limitations). You can use it and the Corebluetooth.framework inside the same app, but they will not be related on which devices they can connect to. Corebluetooth is Bluetooth low energy only. Check this answer and the related links for more information on using the ExternalAccessory.framework :
How to use bluetooth classic instead of le

Is it possible to implement this bluetooth feature in iOS

I am considering implementing in an app the bluetooth feature to read and display the battery life of a connected bluetooth peripheral (i.e. keyboard, headset...)
Is there an API or objects that can implement this in the iOS SDK or can someone tell me how this can be done, if it can be done ?
Yes, but more than likely you will need to be a member of the Made for iOS program. You can connect to a device that is Bluetooth Low Energy without being part of the MFi program but it only available for peripherals that support and the iOS device must be the iPhone 4S or the new iPad. Also reference this stackoverflow question.

iOS and bluetooth...what framework will i need?

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.

Can an app receive bluetooth data if it is locked?

Simply that question. You see other devices stating that they can, but built on older platforms. Any sample code would be great.
Yes, it is possible. You need to set UIBackgroundModes to "bluetooth-central" in info.plist file.
Note also, that Technical Q&A QA1657 in iOS Developer Library says the following
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 iOS device's 30-pin 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.
Developer reference also says that there is a Core Bluetooth framework for Low Energy devices in iOS5, but it's for Bluetooth 4.0 devices (BTLE) only, currently on the iPhone 4S.

Is it possible to develop an iOS app with bluetooth capabilities?

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.

Resources