Как добавить звук для UILocalNotification?
Я сделал с основным уведомлением для своего приложения. Я хочу добавить звуковой эффект в свое уведомление.
UILocalNotification *localNotification = [[UILocalNotification alloc] init];
if (localNotification == nil)
return;
localNotification.fireDate = [NSDate date];
//localNotification.timeZone = [NSTimeZone defaultTimeZone];
localNotification.alertBody = msg;
localNotification.soundName = @"Morse.aiff";
[[UIApplication sharedApplication] presentLocalNotificationNow:localNotification];
Как добавить звуковой эффект?
Ответы
Ответ 1
Вы можете начать с чтения Подготовка пользовательских предупреждающих звуков в руководстве по программированию локального и Push Notification (убедитесь, что ваш собственный звук короче 30 с).
Если вы хотите использовать звук по умолчанию: используйте UILocalNotificationDefaultSoundName
(как было предложено Euroboy)
Обновление: Вы, кажется, не единственный человек, который испытывает эту проблему. Возможное (но, конечно, не хорошее) решение описано здесь.
Ответ 2
У меня была схожая проблема, пытаясь воспроизвести mp3 файл как звук локального уведомления.
Звук был короче 30 секунд, он был в комплекте, все выглядит регулярно на поверхности.
Через несколько часов я понял, что проблема вызвана инструментом онлайн-резака mp3.
Я нашел лучший редактор, и файл стал воспроизводиться при уведомлении.
Если mp3 файл отредактирован каким-то инструментом, возможно, что что-то было упущено инструментом редактирования.
Возможно, ваша проблема вызвана звуковым редактором или преобразователем формата звука.
Ответ 3
В моем случае проблема заключалась в том, что я забыл зарегистрироваться для UIUserNotificationTypeSound. Без регистрации в UIUserNotificationTypeSound ваше приложение не будет иметь параметр "Звуки", доступный в настройках уведомлений.
Вот фрагмент кода из руководства по программированию локального и удаленного уведомлений (tilo уже добавила ссылку на него выше).
UIUserNotificationType types = UIUserNotificationTypeBadge |
UIUserNotificationTypeSound | UIUserNotificationTypeAlert;
UIUserNotificationSettings *mySettings = [UIUserNotificationSettings settingsForTypes:types categories:nil];
[[UIApplication sharedApplication] registerUserNotificationSettings:mySettings];
После добавления этого кода вы можете включить параметр звука в настройках уведомлений для вашего приложения.
Ответ 4
Я нашел очень простое решение для воспроизведения пользовательского звука в локальном уведомлении.
1. Нормально звук будет отлично работать с форматом aiff.
2. Когда вы добавили пользовательский звук, проверьте, добавлен ли этот звук в "Фазы сборки",
3. Вы уже добавили свой собственный звук, но базовое системное предупреждение снова воспроизводится? - удалите приложение с устройства и перезагрузите его. После подключения вашего устройства и скомпилируйте приложение еще раз.
4. Прибыль! это будет работа!
PS: Это решение, если у вас есть iOS 10. Как я понимаю, это системная сумка.