2012-04-05 33 views
6

Im hiện đang làm việc với các "khu vực" Mẫu mã: https://developer.apple.com/library/ios/#samplecode/Regions/Introduction/Intro.h TML # // apple_ref/doc/uid/DTS40010726-Giới thiệu-DontLinkElementID_2Region dựa thông báo địa phương

tôi muốn mang nó một bước xa hơn và tạo ra, hay hỏa hoạn, một thông báo qua khi người dùng thoát khỏi khu vực (có thể cho cả nhập & xuất cảnh, tôi không quan tâm, bất cứ điều gì là đơn giản nhất cho việc thực hiện ban đầu).

Tôi đã được nhìn vào tài liệu tham khảo CLLocation Class, Location Awareness Hướng dẫn Lập trình và địa phương và Push Notification Lập trình hướng dẫn. Và im bị quá tải thông tin.

Rất cám ơn :)

EDIT: Tôi nghĩ rằng tôi có thể có một ý tưởng mà giải quyết vấn đề: trong file thực hiện RegionsViewController có này:

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

    [self updateWithEvent:event]; 
} 

Kể từ khi tôi muốn thực hiện một địa phương thông báo khi người dùng thoát khỏi ranh giới khu vực được chỉ định mà tôi đã nhập thông tin này:

- (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]; 
} 

Ai đó có thể tư vấn cho tôi về việc liệu điều này là chính xác, hoặc nếu có bất kỳ khuyến cáo? (xin lỗi cho định dạng kém)

Trả lời

1

bạn đúng, không có cách nào tốt hơn là kích hoạt thông báo cục bộ từ locationManager: didExitRegion: Hơn nữa, điều này sẽ hoạt động ngay cả khi ứng dụng của bạn đang chạy ở chế độ nền hoặc đóng.

Các vấn đề liên quan