0

我正在开发一个使用推送通知的 iPhone 应用程序。

在有效载荷中,我指定了一些内容:

  • 邮件正文
  • 声音
  • action-loc-key 因为我不希望用户能够从通知中启动应用程序

通知可以很好地到达我的 iPhone。它显示一条没有按钮的消息。所以 body 和 action-loc-key 工作得很好。但是,它没有播放任何声音。

但是,在故障排除过程中,我注意到了几件事:

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

尽管有这两个事实,但声音效果根本没有播放。

在设置应用程序中,一切看起来都正确 - 我的应用程序打开了推送,我也将“声音”和“警报”设置为打开。

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

替代文字

最后,如果我在 XCode 中查看此文件的信息,它会说文件类型只是默认的“文件”。据我所知,列表中没有 audio-caf 选项。我尝试了audio-WAV(音响工程师告诉我原始文件是WAV),但这并没有改变任何东西。

另外,代码:

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

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

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

}

4

1 回答 1

0

我也应该发布 JSON,结果证明我构造错误。它在 didReceieveRemote 通知中起作用的原因是 b/c 我自己在解析 JSON,而我的东西乱序这一事实并不重要。

于 2009-09-29T13:46:30.533 回答