3 ms·
Hi! I helped build Shortwave. There are some interesting limitations to the ibeacon and corebluetooth APIs that we used - corebluetooth can broadcast in the bac
by siralonso 12y ago
Hi! I helped build Shortwave. There are some interesting limitations to the ibeacon and corebluetooth APIs that we used - corebluetooth can broadcast in the background (but not receive) while ibeacon can receive in the background (but not broadcast).
Our goal was to be able to recognize that two shortwave users were within range of each other, even if both phones were locked, so we had to find a way to make these two APIs work together.
I'm working on a blog post that details how we did this. I hadn't thought of open-sourcing the code, but people seem interested so I'm more than happy to do so. I do have to warn you - this was my first foray into objective-c, so I'm sure there will be some shortcomings :)
I'll post it to hackernews when I wrap it up. I'm also @alonsoholmes on twitter, in case it doesn't make the front page.
Cheers!
- ah
- cryptnotic 12y agoYou should patent it.
- marpalmin 12y agoThere is nothing to patent, is just iOS Bluetooth Low Energy.
- mjmsmith 12y agoIsn't iBeacon built on top of Core Bluetooth? What stops you scanning in the background with CB?
- eddieroger 12y agoNothing. You can continue to range and monitor in the background, but you can not be a beacon in the background while using the blessed methods for doing so. I haven't dug in to CoreBluetooth directly, but the CLLocationManager abstraction layer doesn't allow you to broadcast in the background.
- deleted 12y ago[deleted]
- marpalmin 12y agoYes that's true. Check https://github.com/CharruaLabs/AltBeacon https://github.com/CharruaLabs/AltBeacon to understand how it's done.