2009-09-12 150 views
0

我有一个iPhone应用程序,我正在使用推送通知。推送通知 - 声音不工作?

在有效载荷我指定的几件事情:

  • 消息体
  • 声音
  • 行动-LOC键,因为我不希望用户能够启动应用程序从通知

该通知正在让我的iPhone很好。它显示没有按钮的消息。所以body和action-loc-key工作得很好。但是,它没有发出任何声音。

不过,也有几件事情我已经注意到故障排除过程中:

  1. 如果我实现应用程序:didReceiveRemoteNotification,一切都看起来不错。 Dictionary参数包含声音的关键字,其值的确是我想播放的文件的名称。
  2. 声音文件本身“起作用”,因为如果我在应用程序内部播放声音文件(使用BubbleLevel示例中的SoundEffect类),它工作得很好。

尽管有这两个事实,声音效果根本就没有演奏。

在设置应用程序中,一切看起来都很正确 - 我的应用程序启用了“推送”功能,并且同时设置了“声音”和“警报”。

iPhone文档中心建议使用Quicktime来查看文件的格式。这就是它的样子。

alt text

最后,如果我看到这个文件在Xcode中的信息,它说的文件类型只是默认,“文件”。从我可以告诉的是,列表中没有音频选项。我尝试了音频WAV(声音工程师告诉我原始文件是WAV),但是这并没有改变任何东西。

此外,代码:

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

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

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

}

+0

我认为您需要实际阅读并随警报一起发送该文件,而不是将其存储在应用程序中。 – Garrett 2009-09-12 03:54:20

+2

通过JSON发送音频文件?笏? – bpapa 2009-09-12 04:32:23

回答

0

我应该张贴的JSON为好,事实证明我是构建错了。它在didReceieveRemote通知中工作的原因是b/c我自己在解析JSON,而且我有错误的事实并不重要。