Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Apple AirLocation demo App ranging not shows beacons

I have3 Estimote beacons that can be seen with the App store Estimate App.

Now I am trying to run the Apple demo app AirLocation AirLocate

I have changed the UUID in the APLDefaults.m file to the default Estimote UUID _supportedProximityUUIDs = @[[[NSUUID alloc] initWithUUIDString:@"B9407F30-F5F8-466E-AFF9-25556B57FE6D"]];

I have enabled the Region to start startMonitoringForRegion as this stackoverflow says.

But they are not showing up, have you seen this ? Or am I missing some Estimate specific.

Regards

like image 451
Chris G. Avatar asked Sep 27 '14 21:09

Chris G.


People also ask

What is ranging Beacons?

Overview. Beacons make location-based products and services available to users by broadcasting information to your device. Ranging is the process of reading the characteristics of a beacon region, such as signal strength, advertising interval, and measured power.

How do I use iBeacon on Iphone?

To use an iOS device as an iBeacon, you do the following: Obtain or generate a 128-bit UUID for your device. Create a CLBeaconRegion object containing the UUID value along with appropriate major and minor values for your beacon. Advertise the beacon information using the Core Bluetooth framework.

What is Apple iBeacon?

This protocol enables seamless interactivity between iOS and Android devices, and an iBeacon hardware, such as BLE beacons. iBeacon technology has been empowering businesses by letting them welcome customers, provide location-relevant information and promote ongoing offers.


1 Answers

The problem is that AirLocate was written for iOS7, and in iOS8, the permissions model for iBeacons and other location operations has changed. In order to get the program to work on iOS 8 when compiled from XCode 6, you need to add code that requests permission in your AppDelegate. Like this:

if([self.locationManager respondsToSelector:@selector(requestAlwaysAuthorization)]) {
    [self.locationManager requestAlwaysAuthorization];
}

This will prompt the user to authorize location operations including beacons. You also need to edit the info.plist for the app, and add a new string key called NSLocationAlwaysUsageDescription with a value like "This app needs access to location services" so the OS can prompt the user for this permission.

After you run your app, you can check in settings to see if this permission has been granted properly.

like image 172
davidgyoung Avatar answered Sep 20 '22 10:09

davidgyoung