tarun_sharma
tarun_sharma

Reputation: 871

File transfer between iOS app and non-ios device over bluetooth 3.0

I am trying to build an iOS app which can receive video data from a Bluetooth 3.0 enabled non iOS video camera.

From my research here and on other forums I have learned:

  1. I can't use CoreBluetooth framework as camera is bluetooth 3.0 not 4.0 (BLE).
  2. My app has to use ExternalAccessory framework in order to connect with the external camera bluetooth.
  3. The Camera bluetooth must be developed under Apple's MFi program.

Things I am confused about:

  1. MFi FAQ page says it is not required for accessories using standard bluetooth profiles. What does it mean. My camera uses A2DP. Is it standard bluetooth profile and if yes then my camera need not be MFi licensed?
  2. Can iOS devices get video data (file transfer) from non-ios devices over bluetooth? I have not seen any app in the app store doing this without using bluetooth 4.0.

Upvotes: 2

Views: 2350

Answers (1)

AlfuryDB
AlfuryDB

Reputation: 289

as far as I know, the bluetooth stack in iOS doesnt implement some profiles. You can use the next iOS technology to send a file . https://developer.apple.com/library/ios/samplecode/MultipeerGroupChat/Introduction/Intro.html which is basically MultipeerConnectivity.framework.

The technology, if you go to the ADC, you will be able to find the next information :

The Multipeer Connectivity framework provides support for discovering services provided by nearby iOS devices using infrastructure Wi-Fi networks, peer-to-peer Wi-Fi, and Bluetooth personal area networks and subsequently communicating with those services by sending message-based data, streaming data, and resources (such as files).

Important to say, there are not a lot of ways of using bluetooth in iOS, they have opened a bit the apis to allow to do some stuff, but believe me, in your case, the use of SPP would be correct but it´s not implemented. I was replied in iOS 1.0 that SPP was a "really hard implementation" from apple and they were not going to release it because there were no reason which is false. They dont release SPP because they force the users to use the phone networks through 3G so every user has to pay per data, with bluetooth, no one pays, no one receives money about it.

Regarding what you want to do, the sample Ive posted you helped me a lot to understand how it works, it is not too much difficult to follow and basically the framework is based in 2 phases : discovery and session, I mean : the phase you find other devices to connect and the phase you are acting with the other device. You wont have to worry about how to deal with different protocols, what is good, just the use of this framework.

Regarding security, take a look there, but if you are familiar with bluetooth, it follows the standards "but" not exactly (there is a lack of public apis to access a lot of features). So take a look.

Regarding your questions : it will only depend if you want to market your product, and Im pretty sure if you want to say "built for iOS" you will have to apply for the MFi program to submit your hardware specification and be allowed from apple to use their logos. Apple are really picky on that, and in every place you see "built for iOS" or the apple logo in the box, they have had to pay (we did indeed), pass a certification, etc., if not, you receive an email straightway asking you politely to remove it from your product.

Hope it helps

Upvotes: 0

Related Questions