iBeacon: Jaka jest różnica między didEnterRegion i didDetermineState (CLRegionStateInside)

Chcę opublikować powiadomienie, gdy użytkownicy wejdą do regionu. Jednak jestem bardzo zdezorientowany z powodu tych samych dwóch metod CLLocationManagerDelegate. Jak właściwie używać tych dwóch metod?

Niektórzy twierdzą, że metoda „didDetermineState” jest potrzebna do rozpoczęcia obserwacji regionu, jeśli aplikacja uruchomi się w regionie.

Dzięki,

- (void)locationManager:(CLLocationManager *)manager
         didEnterRegion:(CLRegion *)region
{
    [self sendNotification:@"didEnterRegion"];
}

- (void)locationManager:(CLLocationManager *)manager
      didDetermineState:(CLRegionState)state
              forRegion:(CLRegion *)region
{
    switch (state) {
        case CLRegionStateInside:
         [self sendNotification:@"didEnterRegion"];
            break;
        case CLRegionStateOutside:
            break;
        case CLRegionStateUnknown:
            break;
        default:
            break;
    }
} 

questionAnswers(1)

yourAnswerToTheQuestion