2011-08-01 19 views
6

Temel olarak yerel bildirimleri sürekli veren bir uygulama oluşturmaya çalışıyorum.Her iki dakikada bir bildiren bir UILocalNotification öğesi nasıl oluşturabilirim

Şimdiye kadar var:

- (void)scheduleNotification { 

    [reminderText resignFirstResponder]; 
    [[UIApplication sharedApplication] cancelAllLocalNotifications]; 

    Class cls = NSClassFromString(@"UILocalNotification"); 
    if (cls != nil) { 

     UILocalNotification *notif = [[cls alloc] init]; 
     notif.fireDate = [datePicker date]; 
     notif.timeZone = [NSTimeZone defaultTimeZone]; 

     notif.alertBody = @"Your building is ready!"; 
     notif.alertAction = @"View"; 
     notif.soundName = UILocalNotificationDefaultSoundName; 
     notif.applicationIconBadgeNumber = 1; 

     NSInteger index = [scheduleControl selectedSegmentIndex]; 
     switch (index) { 
      case 1: 
       notif.repeatInterval = NSMinuteCalendarUnit; 
       break; 
      case 2: 
       notif.repeatInterval = NSMinuteCalendarUnit*2; 
       break; 
      default: 
       notif.repeatInterval = 0; 
       break; 
     } 

     NSDictionary *userDict = [NSDictionary dictionaryWithObject:reminderText.text 
               forKey:kRemindMeNotificationDataKey]; 
     notif.userInfo = userDict; 

     [[UIApplication sharedApplication] scheduleLocalNotification:notif]; 
     [notif release]; 
    } 
} 

I ve her 1 dakika (Davadan 2 ayarladığınızda) bu yüzden bir bildirim her 2 dakikada bir alabilirsiniz bunu yapmaya çalışıyorum (Davadan 1 ayarladığınızda) Haberdar olmak. Tek sorun şu ki ... * 2, her 2 dakikada bir haberdar edilmek için çalışmıyor. Her 2 dakikada bir bildirmek için nasıl yapmaya çalışırdım?

cevap

2

UILocalNotification öğesinin repeatInterval özelliğini ayarlarken, tanımlanmış olan takvim birimlerini yalnızca NSCalendarUnit'da kullanabilirsiniz. Özel birimleri kullanamaz veya birimleri kullanamazsınız, böylece bildirimin tekrar aralığı özelliğini kullanarak istediğiniz şeyi yapamazsınız.

Bildirimleri her 2 dakikada bir programlamak için, büyük olasılıkla (2 dakika arayla) farklı zamanlarda birden çok bildirim planlamak isteyeceksiniz. Bir UILocalNotification oluşturmak ve sonra ile planlayabilirsiniz: o (sizin tekrarlama aralığı ekleyerek) fireDate özelliğini değiştirmek

[[UIApplication sharedApplication] scheduleLocalNotification: localNotification]; 

ve daha sonra aynı kodla tekrar planlayın. Bunu bir döngüde tekrarlayabilirsiniz, ancak çoğu kez bildirimi tekrarlamanız gerekir.

İlgili konular