Альтернатива UILocalNotification для сигнализации

#ios #xcode #uilocalnotification

#iOS #xcode #uilocalnotification

Вопрос:

Я разрабатываю приложение для сигнализации, и я знаю, что не рекомендуется использовать UILocalNotification. Например, используя локальное уведомление, я не могу создать звуковой цикл. Есть ли какие-либо альтернативы UILocalNotification? И какой метод запускается при появлении уведомления?

Комментарии:

1. Нет, альтернативы UILocalNotification не существует…

2. Я не думаю, что есть хорошие альтернативы. Я видел много приложений, использующих geoloc для поддержания работы приложения в фоновом режиме, а затем воспроизведения звука в нужное время. Но это звучит грязно: p

Ответ №1:

 UILocalNotification * localNotification = [[UILocalNotification alloc] init];

localNotification.fireDate = targetDateTime;
localNotification.timeZone = [NSTimeZone defaultTimeZone];
localNotification.userInfo = @"Its Morning Time";

 NSString * soundName = [[NSUserDefaults standardUserDefaults]valueForKey:@"ColorName"];

localNotification.soundName = [NSString stringWithFormat:@"%@.wav",soundName];


localNotification.applicationIconBadgeNumber = [[UIApplication sharedApplication] applicationIconBadgeNumber]   1;

[[UIApplication sharedApplication]scheduleLocalNotification:localNotification];
  

Используя приведенный выше код, мы можем запускать UILocalNotification как сигнал тревоги и воспроизводить ваш собственный звуковой файл в качестве звука будильника.

Для воспроизведения разных файлов в качестве звукового сигнала тревоги вы можете предоставить пользователю интерфейс, подобный UIPickerView, в котором отображаются названия всех звуков уведомления. Выбранный файл становится звуковым сигналом для пользователя.

Еще одна вещь, которую вы можете сделать, это вызвав функцию через интервал в один день, вы можете выбрать другой звуковой файл и воспроизводить его как звуковой файл тревоги.

Надеюсь, эта информация поможет вам.