OSX:用于检索用户~/temp文件夹路径的API

7

OS X是否为每个用户设置了单独的临时文件夹?

如果是这样,如何以编程方式检索当前用户的临时文件夹路径?

附注:查看我的OS X文件系统,我无法看到此类文件夹。

2个回答

6
假设您使用Objective-C和Foundation:NSTemporaryDirectory()应该返回一个NSString,其中包含用户的临时目录。在我的机器上,该目录位于/var/folders/下。
例如:
NSString *tempDirectory = NSTemporaryDirectory();

文档中写道,NSTemporaryDirectory() 返回“当前用户临时目录的路径。如果当前没有此类目录可用,则返回nil。”


2

在早期的Lion版本(10.7.3似乎已经解决了这个问题),OS X没有为类Unix脚本或程序设置TMPDIR,但许多GUI程序使用位于/var/folders下的每个用户临时目录,您可以使用一些AppleScript(Scripting Additions中的temporary items folder)或通过NSTemporaryDirectory()获取,如其他地方所述。


4
你的意思是什么?在我的系统上肯定设置了TMPDIR。它与NSTemporaryDirectory()返回的目录相同。 - Ken Thomases
1
有趣的是,我刚刚检查了一下,似乎已经被设置了。不过这肯定是最近发生的,因为我之前有些脚本会在我连接外部驱动器时把它设置成指向那个驱动器(而现在我知道为什么它们没有按照以前的方式运行了)。 - geekosaur
我刚刚检查了一个Snow Leopard(10.6.8)机器上的TMPDIR设置。 - mttrb
只是一个想法:TMPDIR是否只在交互式shell中设置? - mttrb
说实话,我没有在SL上检查过;我只是开始关注我的MacBook Air,它带有Lion系统。那么我想知道这是否是Lion系统的一个退步。我也没有特别在10.7.1之后检查过,只是在10.7.[01]上检查了一下。 - geekosaur
2
@mttrb,它是由launchd设置为GUI控制台会话。检查launchctl export。它也存在于GUI应用程序的环境中,而不仅仅是shell。 - Ken Thomases

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接