Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/izotx/JMCBeaconManager
iBeacon Manager
https://github.com/izotx/JMCBeaconManager
Last synced: 3 months ago
JSON representation
iBeacon Manager
- Host: GitHub
- URL: https://github.com/izotx/JMCBeaconManager
- Owner: izotx
- License: bsd-3-clause
- Created: 2015-03-31T21:19:23.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2016-08-11T15:30:49.000Z (about 8 years ago)
- Last Synced: 2024-04-26T00:05:16.749Z (6 months ago)
- Language: Swift
- Homepage:
- Size: 1.66 MB
- Stars: 148
- Watchers: 8
- Forks: 19
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: License
Awesome Lists containing this project
- awesome-ios - JMCBeaconManager - An iBeacon Manager class that is responsible for detecting beacons nearby. (Hardware / iBeacon)
- awesome-beacon - JMCiBeaconManager - An iBeacon Manager class that is responsible for detecting beacons nearby. (Swift)
- awesome-ios-star - JMCBeaconManager - An iBeacon Manager class that is responsible for detecting beacons nearby. (Hardware / iBeacon)
README
# JMCiBeaconManager
> 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:
1. Checking the iBeacon permission matrix
2. Registering & listening for nearby beacons
3. Detecting nearby beacons
4. Visualizing nearby beacons in a radar look like custom made user interface.
[![Version](https://img.shields.io/cocoapods/v/JMCiBeaconManager.svg?style=flat)](http://cocoapods.org/pods/JMCiBeaconManager)
[![License](https://img.shields.io/cocoapods/l/JMCiBeaconManager.svg?style=flat)](http://cocoapods.org/pods/JMCiBeaconManager)
[![Platform](https://img.shields.io/cocoapods/p/JMCiBeaconManager.svg?style=flat)](http://cocoapods.org/pods/JMCiBeaconManager)![alt tag](https://github.com/appzzman/JMCBeaconManager/blob/pr/1/iPadGif.gif)
![alt tag](https://raw.githubusercontent.com/appzzman/JMCBeaconManager/pr/1/iPhoneGif.gif)## Example
To run the example project, clone the repo, and run `pod install` from the Example directory first.## Installation
#### CocoaPods
JMCiBeaconManager is available through [CocoaPods](http://cocoapods.org). To install
it, simply add the following line to your Podfile:```ruby
pod "JMCiBeaconManager"
```#### Manually
1. Download and drop ```/JMCiBeaconManager```folder in your project.
2. Congratulations!## Usage
```Swift
import JMCiBeaconManagerlet 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.
![alt tag](https://raw.githubusercontent.com/izotx/JMCBeaconManager/master/NSLocationAlwaysUsageDescription.png)
## Authors
Janusz Chudzynski,
Felipe N. Brito,
## Contribute
We would love for you to contribute to **JMCiBeaconManager**, check the ``LICENSE`` file for more info.
## Requirements
- iOS 8.0+
- Xcode 7.3## License
JMCiBeaconManager is available under the ```BSD``` license. See the ```LICENSE``` file for more info.