2009-09-12 4 views
0

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

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

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

Уведомление добирается до моего iPhone просто отлично. Он показывает сообщение без кнопок. Таким образом, тело и 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)]; 

}

+0

Думаю, вам нужно действительно прочитать и отправить этот файл в эфир вместе с предупреждением, не имея его в приложении. – Garrett

+2

отправка аудиофайла через JSON? Wat? – bpapa

ответ

0

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

Смежные вопросы