这是应用程序的捆绑包,此目录包含应用程序及其所有资源。 您无法写入此目录。为防止篡改,捆绑目录在安装时签名。写入此目录会更改签名,从而导致应用程序无法启动。但是,您可以只读访问应用程序捆绑包中存储的任何资源。
存放用户生成的数据放入。用户数据通常包括您可能希望向用户公开的任何文件-您可能希望用户创建,导入,删除或编辑的任何文件。对于绘图应用程序,用户数据包括用户可能创建的任何图形文件。对于文本编辑器,它包括文本文件。视频和音频应用程序甚至可能包含用户已下载以供以后观看或收听的文件。
iTunes
和iCloud
备份。其他应用分享到本app的文件会存储在该目录。 您的应用可以读取和删除此目录中的文件,但不能创建新文件或写入现有文件。 (如果用户尝试编辑此目录中的文件,那么您的应用必须在进行任何更改之前以静默方式将其移除目录。)
iTunes
和iCloud
备份。这是非用户数据文件的顶级目录。一般将文件放在几个标准子目录中。iOS通常使用Application Support
和Caches
子目录;但是,您可以创建自定义子目录。
将Library
子目录用于您不希望向用户公开的任何文件。您的应用不应将这些目录用于用户数据文件。
Caches
子目录除外)由iTunes
和iCloud
备份。存放应用程序创建的支持文件。通常,此目录包含应用程序用于运行但仍对用户隐藏的文件。此目录还可以包括数据文件,配置文件,模板以及从应用程序捆绑包加载的资源的修改版本。 应用程序可能使用此目录来存储最初包含在应用程序包中的资源的可修改副本。游戏可能会使用此目录来存储用户购买并从服务器下载的新关卡。 该目录的所有内容都应该放在一个自定义子目录中,该子目录的名称应为您应用的捆绑软件标识符或公司的名称。
iTunes
和iCloud
备份。-[NSURL setResourceValue:forKey:error:]
使用NSURLIsExcludedFromBackupKey
键调用从备份中排除文件。必须将所有可以重新创建或下载的文件排除在备份之外。这对于大型媒体文件尤为重要。如果您的应用程序下载了视频或音频文件,请确保它们不包含在备份中。存放数据缓存文件。高速缓存数据可用于需要持久保存的时间比临时数据更长的数据,但不能与支持文件一样长。一般来说,应用程序不需要缓存数据才能正常运行,但是可以使用缓存数据来提高性能。缓存数据的示例包括(但不限于)数据库缓存文件和瞬时的可下载内容。请注意,系统可能会删除Caches/目录以释放磁盘空间,因此您的应用程序必须能够根据需要重新创建或下载这些文件。
在macOS中,可以由多个应用程序共享的框架可以安装在本地或用户域中。系统域中的Frameworks目录存储用于创建macOS应用程序的框架。
在iOS中,应用程序无法安装自定义框架。
包含应用程序的偏好设置文件。您不应该直接创建偏好设置文件,而是应该使用NSUserDefaults
类或CFPreferences
来获取和设置应用程序的偏好。
存放临时数据。临时数据包含不需要长时间保留的任何数据。完成操作后,请记住删除这些文件,以免它们继续占用用户设备上的空间。当您的应用未运行时,系统会定期清除这些文件;因此,您无法在应用终止后依赖这些文件的持久性。
iTunes
或iCloud
不会备份此目录的内容。