With CoreLocation, once you enter an iBeacon region, you can then call the
startRangingBeaconsInRegion: method which will notify your delegate when the users proximity to the iBeacon changes.
There's four different proximity values.
CLProximityUnknown, (The proximity of the beacon could not be determined.)
CLProximityImmediate, (The beacon is in the user?s immediate vicinity.)
CLProximityNear, (The beacon is relatively close to the user.)
CLProximityFar (The beacon is far away.)
If you go this route, you can support ranging for all iBeacons and not be specific to Estimotes. Most people are probably going to experiment with this feature by turning their iPad or another iPhone into an iBeacon so they can play with it and see how it works before spending money on an Estimote kit or a standalone iBeacon.