#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, в котором отображаются названия всех звуков уведомления. Выбранный файл становится звуковым сигналом для пользователя.
Еще одна вещь, которую вы можете сделать, это вызвав функцию через интервал в один день, вы можете выбрать другой звуковой файл и воспроизводить его как звуковой файл тревоги.
Надеюсь, эта информация поможет вам.