Awesome
BeaconKit
Beacon detection framework using CoreBluetooth written in Swift
TL;DR
This is a framework that wraps around CoreBluetooth and detects beacons of different types.
Tested to compile with Swift 4.0 & 4.2 for iOS 9.0 & macOS 10.12
The currently supported types are: Eddystone-UID, Eddystone-URL, AltBeacon, iBeacon.
iBeacon detection is only available for macOS. It's not possible to detect iBeacons using CoreBluetooth on iOS (see this explanation for more info).
Only foreground operation is supported, but I plan on adding background detection of Eddystones (it's not possible to detect AltBeacons in the background).
Usage
Activating:
BeaconScanner.shared.delegate = self
BeaconScanner.shared.start()
If you want to change the beacons detected, assign to recognizedBeaconTypes
like so:
BeaconScanner.shared.recognizedBeaconTypes = [EddystoneUidBeacon.self, EddystoneUrlBeacon.self, AltBeacon.self]
Deactivating:
BeaconScanner.shared.stop()
Supported Beacon Types
- Eddystone-UID
- Eddystone-URL
- AltBeacon (foreground only on iOS)
- iBeacon (macOS only)
Known Unsupported Beacon Types
- Eddystone-TLM (not an actual beacon)