Событие значимого местоположения iphone, не связанное со сменой ячейки

Я использовал диспетчер местоположения значимых событий на ios, но, похоже, он не основан на изменении ячейки, как заявлено.

Я использовал простой приложение, использующее значимое событие местоположения, но я не мог получить повторяемый, последовательный или чувствительный ответ от ios sdk.

Я проложил маршрут (синяя линия), вышки сотовой связи (отметка места) и сетку площадью 1000 м2 (синий квадрат) на карте ниже. карта с указанием маршрута

расстояние до маршрута 5000 м.

Я проехал по нему 3 раза.

  • test1. получил 2 события sig
  • test2. нет
  • test3. получил 1 sig-событие

, прежде чем вы пожаловались, что мой тест слишком мал, я отслеживал другие тестовые маршруты в течение нескольких дней, и все они показывают непоследовательную форму.

Я ожидал, что sig-событие будет основано на переключении вышек сотовой связи. поэтому я использовал приложение для взлома под названием «сигнал», чтобы определить, какая ячейка является активной. (NB. Удивительно, какая ячейка активна. Не то, что я ожидал.)

Наблюдая за приложением «сигнал», ячейки переключались 6-7 раз по сравнению с тем, что я заметил.

пока что я не получал 6-7 сигнатурных событий. Поэтому я не вижу никакой корреляции между переключением ячеек и значимыми событиями.

поэтому у меня есть следующие вопросы

  • Q1. что является триггером значимого события?
  • Q2. почему результат недостоверный / противоречивый.
  • Q3. как я могу заставить мое приложение получать согласованные и важные важные события на расстоянии 500 м?

Это код, который выполняется в тестовом приложении

 -(void)initLocationManager {
     if (locationManager == nil) {
         self.locationManager = [[[CLLocationManager alloc] init] autorelease];
         locationManager.delegate = self;
         locationManager.desiredAccuracy = kCLLocationAccuracyBest;
         [locationManager startUpdatingLocation];
         [locationManager stopUpdatingLocation];
         [locationManager startMonitoringSignificantLocationChanges];

     }
 }
 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [self initLocationManager];
    self.window.rootViewController = self.viewController;
    [self.window makeKeyAndVisible];
    return YES;
}

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation
  fromLocation:(CLLocation *)oldLocation {
     NSLog(@"%@", newLocation);
     [[NSNotificationCenter defaultCenter]
 postNotificationName:@"PositionUpdate" object:nil];
 }

-lp

9
задан lpic 16 June 2011 в 11:54
поделиться