【问题标题】:UILocalNotifications plays sound in Simulator but not on DeviceUILocalNotification 在模拟器中播放声音,但在设备上不播放
【发布时间】:2011-08-30 04:52:36
【问题描述】:

我只是想将UILocalNotification 包含在我最新的应用程序中。一切正常,但声音不符合我的要求。

我添加了一个名为“Electro.caf”的铃声,声音在我的 MacBook 上播放时没有问题。即使我在 iPhone 模拟器中作为本地通知尝试。但如果我想在我的 iPhone 4 (iOS 4.3.2) 上试用它,它就行不通了。它不是静音,音量开到最大,我试图删除应用程序,重新安装它等等。

有没有人解决过同样的问题,或者知道解决方案?

谢谢mavrick3。

【问题讨论】:

标签: iphone objective-c uilocalnotification


【解决方案1】:

您使用了错误的 .caf 文件格式。

要创建 .caf 文件,请使用 iTunes。

iTunes -> 首选项 -> 导入设置 -> 导入使用:选择 AIFF 编码器, 如果需要,请进行自定义设置 点击确定,再次确定

然后从您的音乐库中选择音乐并单击: 高级 -> 创建 AIFF 版本 在桌面上拖放新生成的文件,并将扩展名从 .aif 更改为 .caf

就是这样,你的 .caf 文件可以在你的 iPhone 设备上运行

【讨论】:

    【解决方案2】:

    另一个用户在 Stack Overflow 上的This post 可能会有所帮助:

    捆绑包在磁盘上;它只是“.app”目录。你不应该 但是,写入此目录中的文件。虽然目前可能在 Mac,它会破坏代码签名。在 iPhone 上,你已经不能写了 到您自己的捆绑包中,我们应该期望在 Mac 上的未来。您应该将应用程序文件写入 ~/Library 或 ~/Documents 下的各种目录。

    确保您的声音长度小于 30 秒,并且声音文件必须存在于您的主包中

    【讨论】:

      【解决方案3】:

      iOS 模拟器不区分大小写,而设备区分大小写。所以一定要写Electro.caf而不是electro.caf

      【讨论】:

      • 该文件名为“Electro.caf”,我尝试将声音名称设置为“Electro.caf”,这样它应该可以工作,不是吗?
      • 是的,应该。这只是一个猜测,因为其他一切听起来都不错。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-22
      • 2021-07-19
      • 2015-01-27
      • 1970-01-01
      • 2011-02-07
      相关资源
      最近更新 更多