2012-04-29 18 views
0

私は半ば夜に毎日ローカル通知を発射するために使用したコードのこの部分を持っています13:00にこれはどのように達成されますか?私は上記のコードは、これを達成するために適合させることができる方法を理解していない...UILocalNotification火と毎日特定の時間に繰り返し

おかげで多くのことを、

をジャック

+0

私の答えを見て、そこにnamaztimesは、このコードでは、このコードでは、私は毎日のようにローカルnotoification 5回(毎日のような)を発射する必要があるので、それをカスタマイズすることができます – Charan

答えて

3

あなたが毎日通知を解雇しなければならない時間を持っている場合は、あなたがすべきこの

NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; 
    NSDateComponents *components = [[NSDateComponents alloc] init]; 
    for (NSMutableArray * arrDay in self.namaztimes) { 
     NSLog(@"Alarm Array: %@", arrDay); 
     int count=[arrDay count]; 
     if(!count){ 
      continue; 
     } 

     int day =0; 
     int month=0; 
     int year=0; 
     int hour =0; 
     int minutes=0; 

     // NSArray *arrDates=[[NSMutableArray alloc] initWithCapacity:1]; 
     for (int i=0;i<3;i++) { 
      NSString * dayTime=[arrDay objectAtIndex:i ]; 
      if (i==0) { 
       day = [dayTime intValue];  
      }else if(i==1){ 
       month = [dayTime intValue];      
      }else if(i==2){ 
       year = [dayTime intValue];  

      } 
     } 
     for (int i=3;i<count;i++) { 
      NSString * dayTime=[arrDay objectAtIndex:i ]; 
      hour = [[dayTime substringToIndex:2] intValue]; 
      minutes = [[dayTime substringFromIndex:3] intValue]; 

      [components setDay:day]; 
      [components setMonth:month]; 
      [components setYear:year]; 
      [components setMinute:minutes]; 
      [components setHour:hour]; 


      NSDate *myNewDate = [calendar dateFromComponents:components]; 

      [self scheduleNotificationForDate:myNewDate]; 

     } 
    } 

    [components release]; 
    [calendar release]; 

は、ここからはメインの通知焼成法
[self scheduleNotificationForDate:myNewDate];

に接続しますか
-(void) scheduleNotificationForDate: (NSDate*)date { 
    /* Here we cancel all previously scheduled notifications */ 
    [[UIApplication sharedApplication] cancelAllLocalNotifications]; 
    UILocalNotification *localNotification = [[UILocalNotification alloc] init]; 
    localNotification.fireDate = date; 
    NSLog(@"Notification will be shown on: %@ ",localNotification.fireDate); 

    localNotification.timeZone = [NSTimeZone defaultTimeZone]; 
    localNotification.alertBody = @"Your Notification Text"; //[NSString stringWithFormat:@"%@",date]; 
    localNotification.alertAction = NSLocalizedString(@"View details", nil); 

    /* Here we set notification sound and badge on the app's icon "-1" 
    means that number indicator on the badge will be decreased by one 
    - so there will be no badge on the icon */ 

    localNotification.repeatInterval = NSDayCalendarUnit; 
    localNotification.soundName = UILocalNotificationDefaultSoundName; 
    localNotification.applicationIconBadgeNumber = -1; 

    [[UIApplication sharedApplication] scheduleLocalNotification:localNotification]; 
} 
+0

whats自己です。ナマズタイム! –

+0

それは特定のタイミングでローカルの通知を発生させるタイミングが異なる私の配列です。私はすでにそれを指定する質問にコメントを追加しました – Charan

+0

localNotification.applicationIconBadgeNumber = -1;なぜ-1?私の経験では、repeatIntervalを使用して設定された通知は、アプリアイコンの正しいカウントを表示していないのですか? – Ahmed

関連する問題