Unfortunately, I have confirmed with Microsoft engineers that this is not possible as of Windows Phone 8.1.
While this operating system version did introduce Bluetooth LE support, the APIs do not allow scanning for iBeacons because scanning functions are locked down to the operating system. Thitrd party apps are not allowed to perform scans which would be needed to look for beacons. The OS itself has no functionality to scan for iBeacons, only the ability to scan for connectable Bluetooth LE devices and pair with them.
Third party apps can look for devices implementing known GATT profiles like so:
var themometerServices = await Windows.Devices.Enumeration .DeviceInformation.FindAllAsync(GattDeviceService .GetDeviceSelectorFromUuid( GattServiceUuids.HealthThermometer), null);
But iBeacons do not advertise GATT services, so this won't help. What is needed is either native support for locating beacons or third party access to raw scan results, which is needed to decode beacon identifiers.
Microsoft is expected to expand support for Bluetooth LE in their upcoming Windows 10 release, which will have a unified desktop/mobile codebase. It is possible the necessary functionality will be included. This OS will not be released until late 2015 and no preview APIs will be available until early 2015, which is the soonest we may have confirmation that such support is coming. Because the company is putting so much energy into this release, it is unlikely there will be any new functionality added to Windows Phone 8.x in the meantime.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…