ios – 如何将文件添加到主包的/ Library / Sounds目录中?

根据 Apple’s documentation,〜/ Library / Sounds中的声音文件将在尝试播放声音时由系统搜索.如何将声音文件添加到此文件夹?

我试图在运行时写入该文件夹,但没有权限.我在xcode中添加一个Library / Sounds文件夹,但它似乎没有复制过来.

xcode – >窗口 – >设备,选择我的应用程序和显示容器,文件夹不存在

添加一些上下文,我正在为解析推送通知执行自定义声音.服务器人告诉我,当向许多用户广播时,为每个用户在有效载荷中发送自定义声音字符串将非常困难.作为一种解决方法,我试图使用单个声音文件,每次用户选择新声音时都会动态覆盖该声音文件.

因此,声音文件需要由系统自动检测,并且可以在应用程序的运行时进行修改.将文件添加到主包不起作用,因为它是只读的.我希望〜/ Library / Sound中的文件可以编辑.

我不知道如何继续这一点.任何帮助将不胜感激.

更新:
错误地尝试使用在运行时创建目录

try fileManager.createDirectoryAtPath("Library/Sounds",withIntermediateDirectories: true,attributes: nil)

应该是正确的代码

let libraryDir = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.LibraryDirectory,NSSearchPathDomainMask.UserDomainMask,true)
        let directoryPath = "\(libraryDir.first!)/Sounds"
        try fileManager.createDirectoryAtPath(directoryPath,attributes: nil)

My solution to the custom sound problem.

解决方法

您拥有的链接适用于Mac!适用于iOS的正确文档应为 here

总之,您只需将声音文件作为应用程序包的非本地化资源添加到项目中.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...