我的应用程序是 沙盒化 的(根据最新的App Store指南),我想创建一些临时文件。
我能够这样做吗?如果“是”,我在哪里可以这样做?是否有预先指定的路径?(以及访问该路径的命令?)
注:sandboxed表示将应用程序隔离在一个安全的环境中,防止其访问系统或其他应用程序的资源。我的应用程序是 沙盒化 的(根据最新的App Store指南),我想创建一些临时文件。
我能够这样做吗?如果“是”,我在哪里可以这样做?是否有预先指定的路径?(以及访问该路径的命令?)
注:sandboxed表示将应用程序隔离在一个安全的环境中,防止其访问系统或其他应用程序的资源。NSTemporaryDirectory()
函数,它将查找并返回适用于您的应用程序的临时文件夹(无论沙盒状态、操作系统版本和其他许多因素如何)。请查看Cocoa With Love这篇文章,以获取有关NSTemporaryDirectory()
和其他临时目录相关详细信息。关于临时目录的问题,NSHipster上有一篇不错的文章:
http://nshipster.com/nstemporarydirectory/
作者建议使用以下代码,该代码在沙盒应用程序中也可以完美运行:
NSError *error;
NSString *globallyUniqueString = [[NSProcessInfo processInfo] globallyUniqueString];
NSString *tempDirectoryPath = [NSTemporaryDirectory() stringByAppendingPathComponent:globallyUniqueString];
NSURL *tempDirectoryURL = [NSURL fileURLWithPath:tempDirectoryPath isDirectory:YES];
[[NSFileManager defaultManager] createDirectoryAtURL:tempDirectoryURL withIntermediateDirectories:YES attributes:nil error:&error];