iBeacon is a name of technology that is enabling new location awareness possibilities for apps. "Leveraging Bluetooth Low Energy (BLE), a device with iBeacon technology can be used to establish a region around an object. This allows an iOS device to determine when it has entered or left the region, along with an estimation of proximity to a beacon."
An iBeacon Manager library was created to simplify your interactions with iBeacons. In essence it serves several roles:
To run the example project, clone the repo, and run pod install from the Example directory first.
JMCiBeaconManager is available through CocoaPods . To install it, simply add the following line to your Podfile:
pod "JMCiBeaconManager" /JMCiBeaconManager folder in your project. import JMCiBeaconManager let beaconManager = JMCBeaconManager() let kontaktIOBeacon = iBeacon(minor: nil, major: nil, proximityId: "f7826da6-4fa2-4e98-8024-bc5b71e0893e") let estimoteBeacon = iBeacon(minor: nil, major: nil, proximityId: "B9407F30-F5F8-466E-AFF9-25556B57FE6D") beaconManager.registerBeacons([kontaktIOBeacon, estimoteBeacon]) NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(beaconsRanged(_:)), name: iBeaconNotifications.BeaconProximity.rawValue, object: nil) beaconManager.startMonitoring({ }) { (messages) in print("Error Messages /(messages)") } /**Called when the beacons are ranged*/ func beaconsRanged(notification:NSNotification){ if let visibleIbeacons = notification.object as? [iBeacon]{ for beacon in visibleIbeacons{ /// Do something with the iBeacon } } }
Add the key NSLocationAlwaysUsageDescription to your project info.plist file.
Janusz Chudzynski, janusz@izotx.com
Felipe N. Brito, felipenevesbrito@gmail.com
We would love for you to contribute to JMCiBeaconManager , check the LICENSE file for more info.
JMCiBeaconManager is available under the BSD license. See the LICENSE file for more info.