У меня есть вопрос об отображении UIAlertView при работе в фоновом режиме в результате события региона местоположения.Я рассмотрел здесь множество похожих вопросов и загрузил пример Apple Breadcrumb, но он не пытается отображать предупреждения.
Мое приложение переключается на мониторинг регионов непосредственно перед тем, как оно переходит в фоновый режим с этой строкой.:
[self.locMan startMonitoringForRegion:targetRegion desiredAccuracy:100];
Затем я наблюдаю за входом и выходом из региона следующим образом:
-(void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region
{
NSLog(@"Exited region");
UIAlertView* alertView = [[UIAlertView alloc] initWithTitle:@"Region Boundary Crossed!"
message:@"Exited region"
delegate:self
cancelButtonTitle:@"Cancel"
otherButtonTitles:@"Show",nil ];
[alertView show];
[alertView release];
}
-(void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region
{
NSLog(@"Entered region");
UIAlertView* alertView = [[UIAlertView alloc] initWithTitle:@"Region Boundary Crossed!"
message:@"Entered region"
delegate:self
cancelButtonTitle:@"Cancel"
otherButtonTitles:@"Show",nil ];
[alertView show];
[alertView release];
}
Я запустил это с помощью симулятора, чтобы убедиться, что он правильно переключается на мониторинг региона.Однако на iPhone я не смог увидеть предупреждение при работе в фоновом режиме, но при повторной активации приложения отображаются нужные предупреждения, которые, похоже, стоят в очереди и ждут.
В моем файле info.plist у меня естьустановите «Обязательные фоновые режимы - Элемент 0» на «Регистры приложений для обновления местоположения» и «Необходимые возможности устройства - Элемент 0» на «Location-Services» и «Элемент 1» на «GPS».
Любая помощьвысоко ценится!