NSUserNotification自定义声音(OS X,沙盒应用程序)

时间:2015-12-26 06:14:51

标签: macos cocoa nsusernotification nsusernotificationcenter

我想为通知中心使用自定义声音,但无法找到相关文档。我知道如何为通知分配声音,我知道如何将新声音文件复制到〜/ Library / Sounds然后使用这些新声音。我的应用程序是沙盒,所以我当然要让用户确认他们想要安装新的声音,但我担心基于这个App Store规则的App Store拒绝:

2.15 应用必须是自包含的单个应用程序安装包,并且无法在共享位置安装代码或资源

无论如何,是否可以使用带有NSUserNotification的自定义声音而无需将资源复制到〜/ Library / Sounds?

似乎有documentation for this on iOS,但OS X没有。

提前致谢。

1 个答案:

答案 0 :(得分:2)

标题中soundName类的NSUserNotification属性声明的注释读取(强调添加):

  

传递通知时要播放的应用程序包资源中的声音文件名称。 NSUserNotificationDefaultSoundName可用于播放默认的Notification Center声音。值'nil'表示没有声音。

因此,您只需在应用包的资源中发送声音文件,并将其名称用于用户通知的soundName。几乎可以肯定,这与+[NSSound soundNamed:] method类似,因此您应该传递文件名减去文件扩展名。