Вопрос

У меня есть приложение для iPhone, над которым я работаю и которое использует Push-уведомления.

В полезной нагрузке я указываю несколько вещей:

  • текст сообщения
  • звук
  • action-loc-key, потому что я не хочу, чтобы пользователь мог запускать приложение из уведомления

Уведомление отлично доходит до моего iPhone.Он показывает сообщение без кнопок.Таким образом, body и action-loc-key работают просто отлично.Но он не воспроизводит никакого звука.

Однако есть пара вещей, которые я заметил во время устранения неполадок:

  1. если я реализую application:didReceiveRemoteNotification, все выглядит нормально.Аргумент Dictionary содержит ключ для звука, значением которого действительно является имя файла, который я хочу воспроизвести.
  2. Сам звуковой файл "работает", потому что, если я воспроизвожу его внутри приложения (используя класс SoundEffect из примера BubbleLevel), он работает просто отлично.

Несмотря на эти два факта, звуковой эффект просто не воспроизводится.

В приложении "Настройки" все выглядит правильно - Push включен для моего приложения, и у меня также включены как "звуки", так и "оповещения".

Центр документации iPhone предлагает использовать Quicktime для просмотра формата файла.Вот как это выглядит.

alt text

Наконец, если я посмотрю на информацию об этом файле в XCode, там будет указано, что тип файла - это просто значение по умолчанию "file". Насколько я могу судить, в списке нет опции audio-caf.Я попробовал audio-WAV (звукорежиссер сказал мне, что исходные файлы были WAV), но это ничего не изменило.

Кроме того, код:

- (void)applicationDidFinishLaunching:(UIApplication *)application {

// view controller set up stuff
    // ...

[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound)];

}

Это было полезно?

Решение

Я должен был также опубликовать JSON, но оказалось, что я сконструировал его неправильно.Причина, по которой это сработало в уведомлении didReceieveRemote, заключается в том, что я сам разбирал JSON, и тот факт, что у меня что-то вышло из строя, не имел значения.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top