iOS 8 CLLocationManager enterRegion: не вызывается, если используется requestWhenInUseAuthorization

Я пытаюсь вызвать метод делегата locationManager: didEnterRegion в iOS 8 для пользовательского региона. Вот код:

self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self;
if ([self.locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)]) {
    [self.locationManager requestWhenInUseAuthorization];
}

CLCircularRegion *region = [[CLCircularRegion alloc] initWithCenter:CLLocationCoordinate2DMake(20, 20) radius:1000 identifier:@"asda"];
region.notifyOnEntry = YES;
region.notifyOnExit = YES;
[self.locationManager startMonitoringForRegion:region];

Это вызывает методlocationManager:didStartMonitoringForRegion, но он не вызывает методы входа или выхода из региона.

Еще одна странная вещь заключается в том, что он работает, если я использую requestAlwaysAuthorization для locationManager. Но мне нужно, чтобы он работал с «Когда используется».

Примечание: в iOS7 это работает и для методов WhenInUse и для Always Authorization.