У меня не было ничего, кроме проблем, связанных с мониторингом региона на iPhone. Прежде всего у меня никогда (ни разу не было) было didEnterRegion
или didExitRegion
пожар на моем устройстве iPhone 4.iOS: мониторинг региона с помощью симулятора отключен
Я решил протестировать на симуляторе вместо того, чтобы тратить часы работы в центре города (хотя я хотел бы видеть эту работу в реальном сценарии). Прежде всего, симулятор ушел с точки зрения точности, вы бы подумали, что он будет довольно точным (или я ошибаюсь, чтобы предположить это?).
Следующее было сделано в тренажере, изменив расположение в меню Debug
я, наконец, получил didEnterRegion
стрелять, хотя я был около 8 городских кварталов от круга в вопросе. Когда я выходил из региона, didExitRegion
стрелял около 200 раз подряд. Это ошибка симулятора? Я почти готов отказаться от этого и начать вычислять этот материал сам, потому что он становится смешным.
Любые идеи относительно того, почему точность настолько плоха и почему мои методы увольняются так много раз?
Вот соответствующий код:
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *) launchOptions
{
locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
CLLocationDegrees latitude = 45.50568;
CLLocationDegrees longitude = -73.57033;
CLLocationCoordinates2D centerCoordinate = CLLocationCoordinate2DMake(latitude, longitude);
CLLocationDistance regionRadius = 200.0;
CLRegion *myRegion = [[CLRegion alloc] initCircularRegionWithCenter:centerCoordinate radius:regionRadius identifier:@"aroundWork"];
[locationManager startMonitoringForRegion:myRegion];
return YES:
}
-(void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region
{
NSLog(@"Entered region: %@", region.identifier);
}
-(void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region
{
NSLog(@"Exited region: %@", region.identifier);
}
Не видя ни одного из ваших кодов, мы не знаем, правильно ли вы делаете (возможно, не так, как многие другие использовали эти методы без проблем) или ошибка симулятора. – sosborn