iBeacon
Detect nearby Bluetooth beacons and react when people are close to a place or object.
Overview
iBeacon is a Bluetooth Low Energy technology that lets an app know when a device is near a beacon. Each beacon advertises a UUID plus major and minor values, which an app uses to identify a store section, a museum exhibit or a café. Apple describes it as room-level proximity, not precise positioning.
Apps use Core Location in two stages: region monitoring to notice when a matching beacon is in range, which can relaunch the app, and ranging to estimate whether it is immediate, near or far. An iOS device in the foreground can also act as a beacon using Core Bluetooth.
Beacon identity
A 128-bit UUID plus 16-bit major and minor values identify each beacon.
Region monitoring
The system can launch your app when a matching beacon comes into range.
Proximity ranging
Ranging reports immediate, near or far rather than an exact distance.
Device as beacon
A foreground iOS app can advertise as a beacon using Core Bluetooth.
History
How it grew up.
iOS 7 launch
iBeacon arrives in iOS 7, with Core Location APIs for beacon monitoring and ranging.
Licensing guide
Apple's iBeacon guide sets out licenses for beacon makers and for using the iBeacon logo.
Identity constraints
iOS 13 adds CLBeaconIdentityConstraint and lets monitoring work with When In Use access.
Core Location Monitor
iOS 17 adds CLMonitor with BeaconIdentityCondition for observing beacon events.