iPhone: notificaciones locales diarias

Estoy tratando de implementar notificaciones locales

Esto es lo que he establecido

// Current date NSDate *date = [NSDate date]; // Add one minute to the current time NSDate *dateToFire = [date dateByAddingTimeInterval:20]; // Set the fire date/time [localNotification setFireDate:dateToFire]; [localNotification setTimeZone:[NSTimeZone defaultTimeZone]]; 

En lugar de 20, quiero poner un tiempo fijo (diariamente) para comenzar a presionar.

Por ejemplo: quiero enviar notificaciones emergentes cada 6:00 a.m.

¿Cómo puede hacer eso?

Gracias

    Solo necesita crear correctamente un objeto NSDate para que sea su fecha (hora) de disparo. En lugar de utilizar [NSDate dateByAddingTimeInterval: 20] , use algo como esto:

     NSCalendar *calendar = [NSCalendar currentCalendar]; NSDateComponents *components = [[NSDateComponents alloc] init]; [components setDay: 3]; [components setMonth: 7]; [components setYear: 2012]; [components setHour: 6]; [components setMinute: 0]; [components setSecond: 0]; [calendar setTimeZone: [NSTimeZone defaultTimeZone]]; NSDate *dateToFire = [calendar dateFromComponents:components]; 

    Aquí están los documentos de API de Apple NSDateComponents

    Y luego, cuando agrega la fecha a la notificación, establezca el intervalo de repetición en un día:

     [localNotification setFireDate: dateToFire]; [localNotification setTimeZone: [NSTimeZone defaultTimeZone]]; [localNotification setRepeatInterval: kCFCalendarUnitDay]; 

    Al igual que con todos los códigos relacionados con la fecha, asegúrese de probar cómo funciona esto durante el cambio al horario de verano, si su zona horaria utiliza el horario de verano.

    Supongo que lo que necesitas es NSDayCalendarUnit .

    Puedes verificar esta respuesta. Y aquí hay otro tutorial que vale la pena leer.

      NSDate *alertTime = [[NSDate date] dateByAddingTimeInterval:10]; UIApplication* app = [UIApplication sharedApplication]; UILocalNotification* notifyAlarm = [[[UILocalNotification alloc] init] autorelease]; if (notifyAlarm) { notifyAlarm.fireDate = alertTime; notifyAlarm.timeZone = [NSTimeZone defaultTimeZone]; notifyAlarm.repeatInterval = 0; notifyAlarm.soundName = @"Glass.aiff"; notifyAlarm.alertBody = @"Staff meeting in 30 minutes"; [app scheduleLocalNotification:notifyAlarm]; }