Push-уведомления - звук не работает? - PullRequest
0 голосов
/ 12 сентября 2009

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

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

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

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

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

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

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

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

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

alt text

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

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

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

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

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

}

1 Ответ

0 голосов
/ 29 сентября 2009

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

...