Ativar notificação local com base no tempo em segundo plano
Então eu tenho um aplicativo que inclui a notificação local de intervalos de repetição e gostaria de adicionar um recurso que irá pausar as notificações durante o tempo de sono.
Até agora, criei dois separadores de data para o usuário especificar de que horas eles gostariam de interromper o intervalo de repetição e a hora de reiniciar automaticamente. E eu adicionei um uiswitch para eles para ativar o modo de suspensão ou ignorar o recurso.
Agora, como eu faria meu uipickerview principal - (que eles escolhem lá notificação daqui) - para ouvir o uiswitch se ele estiver ligado, então pause as notificações no momento que vem do meu primeiro datepicker e reintitique as notificações no tempo que vem do segundo datepicker?
Eu já configurei meus datepickers e meu uiswitch, mas não tenho idéia de como implementá-lo com o meu uipickerview .. Deve ser sob o método de DidSelectRow? Ou um método em appdelegate (como DidEnterBackground)?
Por favor, pergunte se você precisa de mais informações ou códigos para entender a ideia e me ajudar. Obrigado.
ADICIONAR:
Aqui está o meu código que eu preparei para o datepicker, no entanto, eu só estou perdendo a conexão para adicioná-lo à minha opinião do selecionador corretamente.
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
dateFormatter.timeZone=[NSTimeZone defaultTimeZone];
dateFormatter.timeStyle=NSDateFormatterShortStyle;
dateFormatter.dateStyle=NSDateFormatterShortStyle;
NSString *dateTimeString=[dateFormatter stringFromDate:startTime.date];
NSLog(@"Start time is %@",dateTimeString);
NSDateFormatter *dateFormatter2 = [[NSDateFormatter alloc]init];
dateFormatter2.timeZone=[NSTimeZone defaultTimeZone];
dateFormatter2.timeStyle=NSDateFormatterShortStyle;
dateFormatter2.dateStyle=NSDateFormatterShortStyle;
NSString *dateTimeString2=[dateFormatter2 stringFromDate:endTime.date];
NSLog(@"End time is %@",dateTimeString2);
Eu também tenho esse código para comparar entre os tempos:
if ([[NSDate date] isEqualToDate:startTime.date]) {
NSLog(@"currentDate is equal to startTime");
}
if ([[NSDate date] isEqualToDate:endTime.date]) {
NSLog(@"currentDate is equal to endTime");
}