Локальное уведомление на основе региона

Сейчас я работа с "Регионами" Пример кода: https://developer.apple.com/library/ios/#samplecode/Regions/Introduction/Intro.html#//apple_ref/doc/uid/DTS40010726-Intro-DontLinkElementID_2

I' хотелось бы сделать еще один шаг и сгенерировать или запустить уведомление, когда пользователь выходит из региона (может быть как для входа, так и для выхода, я не против, что проще всего для начальной реализации).

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

Большое спасибо :)

РЕДАКТИРОВАТЬ: Думаю, у меня есть идея, которая решает проблему: в файле реализации RegionsViewController есть это:

- (void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region        {
    NSString *event = [NSString stringWithFormat:@"didExitRegion %@ at %@", region.identifier, [NSDate date]];

    [self updateWithEvent:event];
}

Поскольку я хочу реализовать локальное уведомление, когда пользователь выходит за границу обозначенного региона, я ввел это:

- (void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region {
    NSString *event = [NSString stringWithFormat:@"didExitRegion %@ at %@", region.identifier, [NSDate date]];
    [self updateWithEvent:event];
    //implement local notification: 
    UIApplication *app                = [UIApplication sharedApplication];
    UILocalNotification *notification = [[UILocalNotification alloc] init];
    [[UIApplication sharedApplication] cancelAllLocalNotifications];

    if (notification == nil)
        return;

    notification.alertBody = [NSString stringWithFormat:@"Did You Lock Your House?"];
    notification.alertAction = @"Lock House";
    notification.soundName = UILocalNotificationDefaultSoundName; 
    notification.applicationIconBadgeNumber = 1;
    [app presentLocalNotificationNow:notification];

    [notification release];
}

Может ли кто-нибудь посоветовать мне, правильно ли это, или если есть рекомендации? (извиняюсь за плохое форматирование)

6
задан klefevre 4 September 2015 в 16:22
поделиться