All,
This is the first time I post a question to a mailing list. So, please forgive me if I do something wrong. And my question is related to an iOS app, using Bluetooth API, in the
background.
I think the answer to my question will be “it is technically impossible within current iOS functionality”, but I want to give it one more shot before I officially give up.
The app I am creating runs almost entirely in the background, both as a Central (for scanning) and as a Peripheral (for advertising). The idea is that, if I set up my profile in
the app, and someone else set up his profile in the same app, the app will exchange business cards in the background when we meet, without the hassle of actually exchange the business cards physically. The only trick is that, I don’t want to exchange business
cards with everyone passing by. I only want to exchange business cards with people that are within my Bluetooth range for X minutes (and a bunch other criteria that is unrelated to the technical aspect of my question).
The apps works great in the foreground, and background advertising always works 100%. It is background scanning that is proving to be my downfall.
I have done quite a bit research on the limitation of Bluetooth-dependent app while running in the background, and I know that peripherals in the background advertise their ServiceUUIDsKey
in an overflow area, while central in the background can only scan for targeted ServiceUUIDKey, and can’t see the overflow area.
So, it is pretty much an impossible task to have the app scan in the background for another app that is advertising in the background? Does anyone know if Apple is working on making
this possible?
Thanks,
Tom