Я использую iBeacons, но я столкнулся с небольшой проблемой.CLLocationManager delegate не вызван
При первом использовании пользователь должен дать разрешение, мы тогда следующее называется:
_locationManager = [[CLLocationManager alloc] init];
_locationManager.delegate = self;
[_locationManager requestAlwaysAuthorization];
Однако я ожидал следующий метод делегата называться:
- (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status {
NSLog(@"Auth status changed: %i", status);
if(status > 3){
// Check if we have to start monitoring beacons
NSLog(@"Do we need to initialise after auth given?");
//[self initialiseLocations];
}
}
Я бегу IOS 8.0.2, поэтому не уверен, что это ошибка
Вы установили сильную ссылку на locationManager, что-то вроде '@property (неатомный, сильный) CLLocationManager * locationManager;'? –
Нет, но он был объявлен в файле .h, так что во всем мире. Содержащий класс силен, определенный в appDelegate. Все остальные обратные вызовы работают нормально, только этот. –