firedate
ajusta el tiempo que la notificación dispara la primera vez, y repeatInterval
es el intervalo entre entre repeticiones de la notificación. Entonces el código en la pregunta programa una notificación para disparar 30 minutos (60 * 30 segundos) a partir de ahora, y luego repite cada hora.
Desafortunadamente, solo puede programar las notificaciones para que se repitan a intervalos exactos definidos por NSCalendar constants: por ejemplo, cada minuto, cada hora, cada día, cada mes, pero no en múltiplos de esos intervalos.
Afortunadamente, para recibir una notificación cada 30 minutos, puede programar dos notificaciones: una en este momento, una dentro de 30 minutos, y ambas se repiten cada hora. De la misma manera:
UILocalNotification *reminderNote = [[UILocalNotification alloc]init];
reminderNote.fireDate = [NSDate dateWithTimeIntervalSinceNow:60 * 30];
reminderNote.repeatInterval = NSHourCalendarUnit;
reminderNote.alertBody = @"some text";
reminderNote.alertAction = @"View";
reminderNote.soundName = @"sound.aif";
[[UIApplication sharedApplication] scheduleLocalNotification:reminderNote];
reminderNote.fireDate = [NSDate dateWithTimeIntervalSinceNow:60 * 60];
[[UIApplication sharedApplication] scheduleLocalNotification:reminderNote];
gracias y cada 1 hora o 2 o 3 ¿Debo algo como esto? por ejemplo, cada 1 hora: 'reminderNote.fireDate = [NSDate dateWithTimeIntervalSinceNow: 60 * 60]; recordatorioNote.repeatInterval = NSHourCalendarUnit; 'y segunda fecha de activación' reminderNote.fireDate = [NSDate dateWithTimeIntervalSinceNow: 60 * 60]; ' –
Por cada 1 hora, solo necesita programar una notificación. Solo toma el código en mi respuesta y deshacerte de las dos últimas filas. Si es necesario, cambie 'fireDate' para que corresponda a la primera vez que desea que se active la notificación. – yuji
¿qué ocurre cada 2 horas o 3? Es correcto ? : 'reminderNote.fireDate = [NSDate dateWithTimeIntervalSinceNow: 60 * 60 * 2]; [[UIApplication sharedApplication] scheduleLocalNotification: reminderNote]; ' –