我想在我的申请过程中生成一些临时文件。具体来说,我正在使用 AVAudioRecorder 录制一个文件,我在停止录制时想要加载和编辑/处理该文件。我的问题是:
创建临时文件的适当标准位置是什么。对于 Mac 或 iPad 编程,是否有一些普遍接受的方法?如果有适当的协议,我不想简单地创建一个目录并将文件写入其中。
这个问题的答案实际上比人们想象的要复杂得多。不一定只使用 NSTemporaryDirectory 就可以完成。我 cocoadev.com 有一些关于这个主题的好页面,我建议你自己研究它们并确定最适合你的情况。
http://www.cocoadev.com/index.pl?NSTemporaryDirectory
http://www.cocoadev.com/index.pl?GettingTemporaryFolderOnSpecificVolume
应用程序存储临时数据的通常位置是/var/tmp
. 您也可以使用/tmp
,但此目录用于系统生成的临时文件,并且在/tmp
机器重新启动时会删除其中的任何内容。
我发现根据 iOS 应用程序编程指南,我应该通过 NSTemporaryDirectory() 为我的应用程序查询适当的临时文件夹。我试过了,它返回了/var目录中的一个文件夹,在我的例子中是'/var/folders/pQ/pQ+ZqZCSHWSIHftcbIo57U+++TI/-Tmp-/'。
/tmp
或者/usr/tmp
是在 Unix(Mac OS X 和 iOS 是)中存储临时文件的常用位置。