iBeacons + CoreBluetooth

Overview

OWUProximityManager

Detect and connect to nearby devices with iBeacons and CoreBluetooth.

Sample Project

To simulate functionality, select Client on one device, then select Server on the other. As the proximity of the test devices is likely pretty close, expect delegate methods to fire quickly.

home server client

Usage

Just, create a few UUIDs for OWUProximityManagerConstants.h and then

Setup the Sever:

[[OWUProximityManager shared] startupServerWithDelegate:delegate]

Setup the Client:

[[OWUProximityManager shared] startupClientWithDelegate:delegate]
// defaults to CLProximityNear
[OWUProximityManager shared].desiredProximity = CLProximityImmediate

Two things:

  • proximityClientDidEnterRegion will not be called if the Client starts while already in range of the Server
  • proximityClientDidExitRegion will not be called until about a minute after exiting the region (dev forum link)

ToDo's

  • More fine tuning of BeaconRegion measured power
  • Handle invalidated services in OWUProximityServer
  • Properly handle return from local notification
  • And moar.
  • Suggestions, issues and pull requests are more than welcome.

Contact

David Ohayon

License

OWUProximityManager is available under the MIT license. See the LICENSE file for more info.

You might also like...
Comments
  • Ibeacon sometimes can't notify me '- (void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region'

    Ibeacon sometimes can't notify me '- (void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region'

    Hello: We want to notify users that they have been in our store range and have left our store range through ibeacon. However, we often encounter that users who have left our store far away, but have not received our notification. I checked the application log and found that when there is a problem, - (void)locationManager:(CLLocationManager *)manager didExitRegion: (CLRegion *)region; this method has not been executed. So, I don't understand why this method is not executed sometimes

    opened by huzhongyin 0
Owner
David Ohayon
. THE ohio state university buckeye.
David Ohayon
An iBeacon Manager library was created to simplify your interactions with iBeacons.

JMCiBeaconManager iBeacon is a name of technology that is enabling new location awareness possibilities for apps. "Leveraging Bluetooth Low Energy (BL

Izotx 146 Dec 17, 2022
Replicates detecting and broadcasting iBeacons in the background

Vicinity Vicinity replicates iBeacons and supports broadcasting and detecting low-energy bluetooth devices in the background. It is built with CoreBlu

Instrument 380 Aug 10, 2022
An iBeacon Manager library was created to simplify your interactions with iBeacons.

JMCiBeaconManager iBeacon is a name of technology that is enabling new location awareness possibilities for apps. "Leveraging Bluetooth Low Energy (BL

Izotx 146 Dec 17, 2022
SwiftyBluetooth - Closures based APIs for CoreBluetooth.

SwiftyBluetooth Closures based APIs for CoreBluetooth. Features Replace the delegate based interface with a closure based interface for every CBCentra

Jordane Belanger 181 Jan 2, 2023
Closures based APIs for CoreBluetooth

SwiftyBluetooth Closures based APIs for CoreBluetooth. Features Replace the delegate based interface with a closure based interface for every CBCentra

Jordane Belanger 181 Jan 2, 2023
CombineCoreBluetooth is a library that bridges Apple's CoreBluetooth framework and Apple's Combine framework

CombineCoreBluetooth is a library that bridges Apple's CoreBluetooth framework and Apple's Combine framework, making it possible to subscribe to perform bluetooth operations while subscribing to a publisher of the results of those operations, instead of relying on implementing delegates and manually filtering for the results you need.

Starry 74 Dec 29, 2022
Simple, block-based, lightweight library over CoreBluetooth. Will clean up your Core Bluetooth related code.

LGBluetooth Simple, block-based, lightweight library over CoreBluetooth. Steps to start using Drag and Drop it into your project Import "LGBluetooth.h

null 170 Sep 19, 2022
MbientLab 2 Feb 5, 2022
A small library that adds concurrency to CoreBluetooth APIs.

AsyncBluetooth A small library that adds concurrency to CoreBluetooth APIs. Features Async/Await APIs Queueing of commands Data conversion to common t

Manuel Fernandez 83 Dec 28, 2022