I'm doing a sample project working with CLLocationManager
.
I call startMonitoringForRegion
. Then, I start to simulate a beacon with other device and didEnterRegion
is called.
In the didEnterRegion
, I call startRangingBeaconsInRegion
and works fine.
Then, I pause the beacon emitter and didExitRegion
is called. In the didExitRegion
I call stopRangingBeaconsInRegion
.
If I start again the beacon emitter, didEnterRegion
is not called.
I found this in the Apple documentation:
stopRangingBeaconsInRegion: Stops the delivery of notifications for the specified beacon region.
It is possible that stopRangingBeaconsInRegion
stop notifications of a monitored region?
I try the same without the stopRangingBeaconsInRegion
and works fine.
Thanks
Adding more information:
NSUUID *UUID = [[NSUUID alloc] initWithUUIDString:@"77777777-1717-2727-7777-777777777777"];
NSString *identifier = @"MyBeaconRegion";
CLBeaconRegion *region = [[CLBeaconRegion alloc] initWithProximityUUID:UUID identifier:identifier];
[_locationManager startMonitoringForRegion:region];
- (void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region {
NSLog(@"didEnterRegion");
[_locationManager startRangingBeaconsInRegion:(CLBeaconRegion*)region];
NSLog(@"StartRangingBeacons");
}
- (void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region {
NSLog(@"didExitRegion");
[_locationManager stopRangingBeaconsInRegion:(CLBeaconRegion*)region];
NSLog(@"StopRangingBeacons");
}
- (void)locationManager:manager didRangeBeacons:(NSArray *)beacons inRegion:(CLBeaconRegion *)region {
for (CLBeacon *beacon in beacons) {
NSLog(@"Ranging Beacon: %@ and proximity: %f", beacon.proximityUUID.UUIDString, beacon.accuracy);
}
}
And some logs:
2015-01-13 09:46:30.559 RegionMonitoring[188:5314] didEnterRegion
2015-01-13 09:46:30.561 RegionMonitoring[188:5314] StartRangingBeacons
2015-01-13 09:46:31.579 RegionMonitoring[188:5314] Ranging Beacon: 77777777-1717-2727-7777-777777777777 and proximity: 0.008799
2015-01-13 09:46:32.575 RegionMonitoring[188:5314] Ranging Beacon: 77777777-1717-2727-7777-777777777777 and proximity: 0.011362
2015-01-13 09:46:33.580 RegionMonitoring[188:5314] Ranging Beacon: 77777777-1717-2727-7777-777777777777 and proximity: 0.012814
2015-01-13 09:46:34.580 RegionMonitoring[188:5314] Ranging Beacon: 77777777-1717-2727-7777-777777777777 and proximity: 0.012909
2015-01-13 09:46:35.579 RegionMonitoring[188:5314] Ranging Beacon: 77777777-1717-2727-7777-777777777777 and proximity: 0.012915
2015-01-13 09:46:36.579 RegionMonitoring[188:5314] Ranging Beacon: 77777777-1717-2727-7777-777777777777 and proximity: 0.011501
2015-01-13 09:46:37.576 RegionMonitoring[188:5314] Ranging Beacon: 77777777-1717-2727-7777-777777777777 and proximity: 0.010177
2015-01-13 09:46:38.576 RegionMonitoring[188:5314] Ranging Beacon: 77777777-1717-2727-7777-777777777777 and proximity: 0.013618
2015-01-13 09:46:39.578 RegionMonitoring[188:5314] Ranging Beacon: 77777777-1717-2727-7777-777777777777 and proximity: -1.000000
2015-01-13 09:46:40.573 RegionMonitoring[188:5314] Ranging Beacon: 77777777-1717-2727-7777-777777777777 and proximity: -1.000000
2015-01-13 09:46:41.578 RegionMonitoring[188:5314] Ranging Beacon: 77777777-1717-2727-7777-777777777777 and proximity: -1.000000
2015-01-13 09:46:42.575 RegionMonitoring[188:5314] Ranging Beacon: 77777777-1717-2727-7777-777777777777 and proximity: -1.000000
2015-01-13 09:46:43.578 RegionMonitoring[188:5314] didExitRegion
2015-01-13 09:46:43.579 RegionMonitoring[188:5314] StopRangingBeacons
2015-01-13 09:46:43.581 RegionMonitoring[188:5314] Ranging Beacon: 77777777-1717-2727-7777-777777777777 and proximity: -1.000000
Then, I turn on the beacon and nothing happens.
If I try with this code:
- (void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region {
NSLog(@"didExitRegion");
//[_locationManager stopRangingBeaconsInRegion:(CLBeaconRegion*)region];
//NSLog(@"StopRangingBeacons");
}
Works fine:
2015-01-13 10:15:45.945 RegionMonitoring[364:11017] didEnterRegion
2015-01-13 10:15:45.947 RegionMonitoring[364:11017] StartRangingBeacons
2015-01-13 10:15:46.960 RegionMonitoring[364:11017] Ranging Beacon: 77777777-1717-2727-7777-777777777777 and proximity: 0.040842
2015-01-13 10:15:47.960 RegionMonitoring[364:11017] Ranging Beacon: 77777777-1717-2727-7777-777777777777 and proximity: 0.040842
2015-01-13 10:15:48.961 RegionMonitoring[364:11017] Ranging Beacon: 77777777-1717-2727-7777-777777777777 and proximity: 0.040842
2015-01-13 10:15:49.958 RegionMonitoring[364:11017] Ranging Beacon: 77777777-1717-2727-7777-777777777777 and proximity: 0.040842
2015-01-13 10:15:50.960 RegionMonitoring[364:11017] Ranging Beacon: 77777777-1717-2727-7777-777777777777 and proximity: -1.000000
2015-01-13 10:15:51.958 RegionMonitoring[364:11017] Ranging Beacon: 77777777-1717-2727-7777-777777777777 and proximity: -1.000000
2015-01-13 10:15:52.960 RegionMonitoring[364:11017] Ranging Beacon: 77777777-1717-2727-7777-777777777777 and proximity: -1.000000
2015-01-13 10:15:53.956 RegionMonitoring[364:11017] Ranging Beacon: 77777777-1717-2727-7777-777777777777 and proximity: -1.000000
2015-01-13 10:15:54.960 RegionMonitoring[364:11017] didExitRegion
2015-01-13 10:15:54.962 RegionMonitoring[364:11017] Ranging Beacon: 77777777-1717-2727-7777-777777777777 and proximity: -1.000000
2015-01-13 10:15:55.955 RegionMonitoring[364:11017] Ranging Beacon: 77777777-1717-2727-7777-777777777777 and proximity: -1.000000
2015-01-13 10:15:56.960 RegionMonitoring[364:11017] Ranging Beacon: 77777777-1717-2727-7777-777777777777 and proximity: -1.000000
2015-01-13 10:15:57.959 RegionMonitoring[364:11017] Ranging Beacon: 77777777-1717-2727-7777-777777777777 and proximity: -1.000000
2015-01-13 10:16:02.960 RegionMonitoring[364:11017] didEnterRegion
2015-01-13 10:16:02.962 RegionMonitoring[364:11017] StartRangingBeacons
2015-01-13 10:16:02.963 RegionMonitoring[364:11017] Ranging Beacon: 77777777-1717-2727-7777-777777777777 and proximity: 0.040842
2015-01-13 10:16:02.971 RegionMonitoring[364:11017] Ranging Beacon: 77777777-1717-2727-7777-777777777777 and proximity: 0.040842
2015-01-13 10:16:03.979 RegionMonitoring[364:11017] Ranging Beacon: 77777777-1717-2727-7777-777777777777 and proximity: 0.040842
2015-01-13 10:16:04.979 RegionMonitoring[364:11017] Ranging Beacon: 77777777-1717-2727-7777-777777777777 and proximity: 0.036694
2015-01-13 10:16:05.978 RegionMonitoring[364:11017] Ranging Beacon: 77777777-1717-2727-7777-777777777777 and proximity: 0.036051
2015-01-13 10:16:06.977 RegionMonitoring[364:11017] Ranging Beacon: 77777777-1717-2727-7777-777777777777 and proximity: -1.000000
2015-01-13 10:16:07.977 RegionMonitoring[364:11017] Ranging Beacon: 77777777-1717-2727-7777-777777777777 and proximity: -1.000000
2015-01-13 10:16:08.974 RegionMonitoring[364:11017] Ranging Beacon: 77777777-1717-2727-7777-777777777777 and proximity: -1.000000
2015-01-13 10:16:09.977 RegionMonitoring[364:11017] Ranging Beacon: 77777777-1717-2727-7777-777777777777 and proximity: -1.000000
2015-01-13 10:16:10.973 RegionMonitoring[364:11017] Ranging Beacon: 77777777-1717-2727-7777-777777777777 and proximity: -1.000000
2015-01-13 10:16:11.977 RegionMonitoring[364:11017] didExitRegion
2015-01-13 10:16:11.978 RegionMonitoring[364:11017] Ranging Beacon: 77777777-1717-2727-7777-777777777777 and proximity: -1.000000
2015-01-13 10:16:12.974 RegionMonitoring[364:11017] Ranging Beacon: 77777777-1717-2727-7777-777777777777 and proximity: -1.000000
2015-01-13 10:16:13.977 RegionMonitoring[364:11017] Ranging Beacon: 77777777-1717-2727-7777-777777777777 and proximity: -1.000000