iphone ios 程序的文件目录结构

对于一个iPhone app,它无法访问iPhone整个的文件系统,取而代之的

是这个iPhone app自己的Home目录中的内容。这也就是所谓的sand box。

你可以使用NSHomeDirectory()方法来返回一个 iPhone app的Home
directory。通常在home directory下有以下四个目录:
Documents - 这个目录你可以用来存储各种文件
application name  - application bundle, 这里存放着app的nibs,resources,executable code等等
Library - 这个目录下有一个Preference目录,你可以使用Preference API来读写文件从Preference目录
tmp - 临时文件目录。

以下方法用于获取用户目录文档路径:
方法一:

NSString* documentsDirectory = [NSHomeDirectory()
        stringByAppendingPathComponent:@"Documents"];


方法二:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];


以上原文地址:http://blog.chinaunix.net/space.php?uid=9935135&do=blog&id=181871

以下为官方文档:

http://www.apple.com.cn/developer/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/FilesandNetworking/FilesandNetworking.html

常用目录

出于安全的目的,应用程序只能将自己的数据和偏好设置写入到几个特定的位置上。当应用程序被安装到设备上时,系统会为其创建一个家目录。表6-1列出了应用程序家目录下的一些重要子目录,您的程序可能需要对其进行访问。表中还描述了每个目录的设计目的和访问限制,以及iTunes是否对该目录下的内容进行备份。有关备份和恢复过程的更多信息,请参见“备份和恢复” 部分;有关应用程序家目录本身的信息,则请参见 “应用程序沙箱”部分。

表 6-1  iPhone应用程序的目录

目录

描述

/AppName.app

这是程序包目录,包含应用程序的本身。由于应用程序必须经过签名,所以您在运行时不能对这个目录中的内容进行修改,否则可能会使应用程序无法启动。

在iPhone OS 2.1及更高版本的系统,iTunes不对这个目录的内容进行备份。但是,iTunes会对在App Store上购买的应用程序进行一次初始的同步。

/Documents/

您应该将所有的应用程序数据文件写入到这个目录下。这个目录用于存储用户数据或其它应该定期备份的信息。有关如何取得这个目录路径的信息,请参见“获取应用程序目录的路径”部分。

iTunes会备份这个目录的内容。

/Library/Preferences

这个目录包含应用程序的偏好设置文件。您不应该直接创建偏好设置文件,而是应该使用NSUserDefaults类或CFPreferences API来取得和设置应用程序的偏好,详情请参见“添加Settings程序包”部分。

iTunes会备份这个目录的内容。

/Library/Caches

这个目录用于存放应用程序专用的支持文件,保存应用程序再次启动过程中需要的信息。您的应用程序通常需要负责添加和删除这些文件,但在对设备进行完全恢复的过程中,iTunes会删除这些文件,因此,您应该能够在必要时重新创建。您可以使用“获取应用程序目录的路径” 部分描述的接口来获取该目录的路径,并对其进行访问。

在iPhone OS 2.2及更高版本,iTunes不对这个目录的内容进行备份。

/tmp/

这个目录用于存放临时文件,保存应用程序再次启动过程中不需要的信息。当您的应用程序不再需要这些临时文件时,应该将其从这个目录中删除(系统也可能在应用程序不运行的时候清理留在这个目录下的文件)。有关如何获得这个目录路径的信息,请参见“获取应用程序目录的路径”部分。

在iPhone OS 2.1及更高版本,iTunes不对这个目录的内容进行备份。

表6-2  常用的搜索路径常量

常量

目录

NSDocumentDirectory

/Documents

NSCachesDirectory

/Library/Caches

NSApplicationSupportDirectory

/Library/Application Support




你可能感兴趣的:(iphone)