monitorDidFailForRegion при создании региона для iBeacon, ошибка 5 kCLErrorDomain 5
Я работаю над простым приложением, которое использует CoreLocation в iOS7.1 для определения предустановленного iBeacon.
Мой Кодекс работал очень хорошо, пока он внезапно не остановился. Я ничего не изменил в коде.
Произошла ошибка: «Ошибка 5 kCLErrorDomain» в «monitorDidFailForRegion» после запуска мониторинга в «ViewDidLoad»:
self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self;
NSUUID *uuid = [[NSUUID alloc] initWithUUIDString:@"0E82E0A4-03FF-4A92-9C87-1F978917BD51"];
self.beaconRegion = [[CLBeaconRegion alloc] initWithProximityUUID:uuid identifier:@"com.henry.beacon"];
self.beaconRegion.notifyEntryStateOnDisplay = YES;
if ([CLLocationManager isMonitoringAvailableForClass:[CLBeaconRegion class]])
{
NSLog(@"Monitoring is available.");
[self.locationManager startMonitoringForRegion:self.beaconRegion];
[self.locationManager requestStateForRegion:self.beaconRegion];
}
Делегат настроен правильно:
@interface ViewController : UIViewController <CLLocationManagerDelegate>
Я проверил количество регионов, которые контролируются и
[[self.locationManager monitoredRegions] count]
показал мне, что 2 региона в настоящее время контролируются. Странный.
Единственное, что помогло, это сброс устройства iOS (iPad Mini с iOS7.1). После этого количество отслеживаемых регионов возвращается к 1 (что должно быть правильным).
Кто-нибудь из вас сталкивается с тем же, и я делаю что-то не так в своем коде? Это ошибка в iOS 7.1?
Спасибо за любые комментарии / помощь.
Генри
Обновить:
Я нашел другую тему на эту тему, которая дала некоторые интересные идеи:
Кажется, что это действительно ошибка в iOS7.1. Спасибо за ваши комментарии по этому вопросу.