Activa las notificaciones locales automáticamente diariamente en el tiempo dinámico dado en las matrices Cios objetivos

Tengo muchas horashoursArray y variedad de minutosminutesArray y estoy obteniendo elcurrent date del sistema ahora tengo las matrices que tienen los elementos del mes actual, lo que significa que si hay 30 días en abril habrá 30 horas / minutos en horas Array / minutesArray que he insertado en las matrices, y estoy obteniendo la fecha actual como un índice de matrices.

Lo que he hecho es que las notificaciones se activan en el día actual, pero no se activan al día siguiente hasta que uso la aplicación diariamente porque cuando uso la aplicación todos los días antes de que se llame el método de tiempo de activación cuando cambio al modo de fondo y suena la notificación.

Ahora quiero que las notificaciones se activen automáticamente cuando la fecha cambie, incluso cuando no uso la aplicación por algún día, todo esto debería estar endidEnterBackground... método deappDelegate

he seguidoesta respuesta, pero se usa a la misma hora todos los días. Pero quiero un horario diferente al de las matrices en función del índice de matrices de la fecha actual (significa que el día actual, por ejemplo, hoy es 19 de abril, el índice de horas y minutos debería ser 19).

Así es como se ven mis matrices

Conjunto de horas = [9, 10, 11, 13, 14, 11, 17, 2, 15, 5 ... y así sucesivamente]

Minuto array = [23, 00, 04, 58, 59, 12, 01, 33, .... y así sucesivamente]

llamada al métodoappdelegate.m

- (void)applicationDidEnterBackground:(UIApplication *)application
{     
 [self.viewController triggerAutomaticallyDaily];
 [self applicationSignificantTimeChange:application];
 [self refreshAlarm];
}

método dentroviewcontroller.m

-(void)triggerAutomaticallyDaily {
NSCalendar *calendar = [NSCalendar autoupdatingCurrentCalendar] ;
NSDate *now = [NSDate date];

NSDateComponents *components = [calendar components:(NSCalendarUnitYear | NSCalendarUnitMonth |  NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute) fromDate:now]; 
[components setHour:hoursArray[currentDay]]; //currentDay the todays date is 16 I am getting current date from system.
[components setMinute:minutesArray[currentDay]];

UILocalNotification *notification = [[UILocalNotification alloc]init];
notification.fireDate = [calendar dateFromComponents:components];
notification.repeatInterval = NSDayCalendarUnit;
[notification setAlertBody:@"This is your task time"];
// notification.soundName = UILocalNotificationDefaultSoundName;
[[UIApplication sharedApplication] scheduleLocalNotification:notification]; 
}

Cambios de tiempo significativos después de cada medianoche, método enAppdelegate

-(void)applicationSignificantTimeChange:(UIApplication *)application {
[self.viewController triggerAutomaticallyDaily];
}

Actualizar método de alarma enAppdelegate

- (void)refreshLabel
{
//refresh the alarm on the main thread
dispatch_async(dispatch_get_main_queue(),^{      
[self.viewController triggerAutomaticallyDaily];
});
// check every 10000s
[self performSelector:@selector(refreshLabel) withObject:nil afterDelay:10000]; 
}

Mira estodidEnterBackground... cuando salga de mi aplicación, el método de notificación se llamará solo una vez. no es es ?? y cómo puedo recibir la notificación diaria cuando ni siquiera abro la aplicación durante una semana pero quiero recibir notificaciones. ¿Cómo se llamará al método? ¿Se llama al método cada vez en modo de fondo?

¿Hay alguna manera de que pueda programar la notificación y, cuando se realiza la primera notificación, se debe activar la segunda y si se realiza la segunda, se debe activar la tercera y así sucesivamente en modo de fondo, incluso si no abro la aplicación durante una semana? ? las notificaciones deben activarse en función de la fecha y hora actuales que figuran en las matrices.

ACTUALIZAR Incluso he colocado la función de actualización que actualiza el gatillo después de cada 10000 segundos, pero no funciona.

También he agregadosignificantTimechanges , si hay cambios de medianoche pero no funciona aquí, así es como lo he definido todo.

Respuestas a la pregunta(3)

Su respuesta a la pregunta