I think you are a little confused about how iBeacon works - A device (beacon) needs to actively transmit an id which can be detected by another device that is listening for the specific UUID.
While an iOS device (or an Android device) can act as an iBeacon it requires an app running on the device to do so and this would not be the typical use case in a retail environment.
Rather, a store's app on the device would register interest in a particular UUID (the UUID assigned to that store's iBeacons). Entering range of an iBeacon (when you enter a store) would notify the app, which could then take the required action.
The Radius Networks article you linked to essentially describes a "sniffer" app that can scan for all iBeacon UUIDs rather than a specific one. Neither the iOS CoreLocation or CoreBluetooth libraries do not allow you to do this.
You could write an app on iOS that listens for 'well-known' UUIDs (such as Estimote, Radius Networks etc) - there are several example apps available on the App Store that do this, but the information transmitted is simply a UUID and two numbers, so it would be of limited information to a generic app as you need knowledge of how the store is assigning this information.