Mac OS X下的文件系统是由一种在特殊区域组织相关文件和数据的方法构成的。文件系统中的每一个文件都有它自己的空间而且应用程序需要知道在哪里去放置它们创建的文件。这在你向App Store发布你的应用程序时尤其重要。

  如下的列表列出了应用程序一般要交互的文件夹在文件夹前面有一个字符~表示了该文件夹在home文件夹中,它可以表示拥护的home文件夹或者应用程序的容器文件夹(如果应用程序是在沙盒中)。因为用于条件的不同,文件的真实路径可能也不同,使用 NSFileManager类的URLsForDirector:inDomains:方法来检索文件的实际路径。你也可以自己想反悔的URL对象添加自定义文件夹和文件名信息来完善路径。

Applicaions文件夹 该文件夹是你的应用程序束的安装文件夹。全局Applications文件夹的路径是/Applications,但是用户文件夹可能拥有一个局部applications文件夹包括用户特殊应用。无论如何,你都不需要直接来使用这个路径。为了在你的应用程序束中使用这些资源,用一个NSBundle的对象来代替。
Home文件夹 对你应用程序的配置决定了home文件夹的位置,如下所示。
·对于在Mac OS X10.7或者更高版本的运行在沙盒中的应用程序,home文件夹是应用程序的容器文件夹。
·对于运行在沙盒外的(包括Mac OS X10.7以前的版本),home文件夹/Users下的用户特殊的子文件夹,包含了用户文件。
为了检索home文件夹的路径,可以使用NSHomeDirectory方法。
Library文件夹 Library文件夹是用来存储与程序相关的私有数据和引用的顶级文件夹。在系统中包含了很多个分散的Library文件夹,但是你应该总是使用当前home文件夹下的那一个。
不要在顶层Library文件夹下直接存储文件。取而代之的是,将它们存储在一个自己命名的子文件夹下。
在Mac OS X10.7和以后的版本,Finder默认隐藏了用户home文件夹下的Library文件夹。因此你将永远不会直接在这个文件夹中存储文件。
为了得到这个文件夹的路径,可以在NSUserDomainMask中使用NSLibraryDirectory参数。
Application Support文件夹 该文件夹是你的程序用来存储各种支持程序的文件,但是却不需要运行的文件。比如说文档模板或者配置文件。这些文件应该是每个应用程序特殊的。而且应用不应该存储用户数据。这个文件夹在Library文件夹中。
永远不要再这个文件夹的顶层存储数据:将它们存进一个用你程序或者公司命名的子文件夹中。
如果一些自用是对系统中所有用户通用的,比如说文档模板,将它们放在/Library/Application Support。为了获取文件的路径,可以在NSUserDomainMask中使用NSApplicationSupportDirectory参数。如果一些资源是用户特定的,比如说工作空间的配置文件,将它们放在当前用户的~/Library/Application Support文件夹中,为了获取浙西文件夹的路径可以在NSUserDomainMask中使用NSApplicationSupportDirectory参数。
Caches文件夹 Cache文件夹是用来存储你的缓存文件和其他临时数据在你的程序要需要重构时。这个文件夹在Library文件夹中。
同样不要在该文件夹的顶层来存储文件:将他们存储在以你程序或者公司命名的子文件夹中。你的程序需要负责清理cache文件夹。系统不会自动清理该文件夹中的任何文件或数据。
为了得到该文件夹的路径,可以在NSUserDomainMask中使用NSCachesDirectory参数。
Movies文件夹 Movies文件夹包括了用户的视频文件。
为了得到该文件夹的路径,可以在NSUserDomainMask中使用NSMoviesDirectory参数。
Music文件夹 Music文件夹包括了用户的音乐和声音文件。
为了得到该文件夹的路径,可以在NSUserDomainMask中使用NSMusicDirectory参数。
Pictures文件夹 Pictures文件夹包含了用户的图片和照片
为了得到该文件夹的路径,可以在NSUserDomainMask中使用NSPicutresDirectory参数。
Temporary文件夹 Temporary文件夹是用来存储那些不需要在重复运行你的程序时存储的文件。通常用这个文件夹抓取文件或者其他生存周期比较短的数据文件,同时与你程序的持久化数据无关。一般这个文件夹对用户是隐藏的。
你的应用程序应该在完成与其相关的操作时及时清空该文件夹中的文件。而且,系统同样会在启动时清空该文件夹中的内容。
为了得到该文件夹的路径,课使用NSTemporaryDirectory方法。

文章转自《Mac OS X Programming Guide》

Mac OS X应用程序下的主要文件夹相关推荐

  1. 什么是Nib文件?(Nib文件是一种特殊类型的资源文件,它用于保存iPhone OS或Mac OS X应用程序的用户接口)...

    Nib文件是一种特殊类型的资源文件,它用于保存iPhone OS或Mac OS X应用程序的用户接口.Nib文件是Interface Builder文档.通常您会使用Interface Builder ...

  2. 【原】Mac下统计任意文件夹中代码行数的工具——cloc

    这里介绍一个Mac系统统计代码行数的工具cloc. 1.首先,安装homebrew,已安装的请跳过. 打开终端工具Terminal,输入下列命令.过程中会让你按RETURN键以及输入mac桌面密码,按 ...

  3. SharePoint 2013创建应用程序时IIS端口文件夹下没文件

    最近SharePoint 2007迁移到2013的时候,碰到创建应用程序时IIS端口文件夹下没文件的问题,网上找了大把的原因,终于在这里找到了解决方案: Fix: 1. Open IIS on the ...

  4. 宝塔定时任务执行php源码任务_在WINDOWS任务计划程序下执行PHP文件 PHP定时功能的实现...

    最近需要做一个定时任务功能,从网站找了很多相关的代码,windows实现方法综合起来大概就两种, 一.使用PHP ignore_user_abort 函数 即使关掉浏览器也能正常运行:(个人感觉PHP ...

  5. Mac系统下无法删除文件夹

    Mac系统下无法删除文件夹 之前在Mac桌面上不知道从哪拖动来了一个文件夹,想删除确怎么也删除不了. 永远都是这个进度,哭唧唧~~ 后来找到方法,可针对各种文件夹.文件无法删除问题: 第一步:打开Ma ...

  6. Mac根目录下无法创建文件夹

    问题场景:需要在根目录下创建data文件夹,出现 Read-only file system 字样 解决方案: 重新启动,在启动的时候按command+R,进入Recovery模式 关闭sip 在to ...

  7. (转)Unity Assets目录下的特殊文件夹名称(作用和是否会被打包到build中)

    原文:http://wiki.unity3d.com/index.php/Special_Folder_Names_in_your_Assets_Folder 1.隐藏文件夹 以.开头的文件夹会被Un ...

  8. asset文件夹路径 unity_Unity Assets目录下的特殊文件夹名称

    1.隐藏文件夹 以.开头的文件夹会被Unity忽略.在这种文件夹中的资源不会被导入,脚本不会被编译.也不会出现在Project视图中. 2.Standard Assets 在这个文件夹中的脚本最先被编 ...

  9. Win10-更改c盘下的用户文件夹名[转]

    转载 Win10-更改c盘下的用户文件夹名[转] 2019年 版权声明:本文为转载文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 转载链接:https://blog. ...

最新文章

  1. 习题4-3 求分数序列前N项和 (15 分)
  2. MySQL8.0新特性——锁读取
  3. 微博收藏(机器学习代码与工具)(一)
  4. 算法--微软面试:指定数字在数组中出现的次数
  5. kafka技术内幕(一)
  6. 【C语言简单说】十三:变量的生命周期
  7. python mysql数据库_Python3中操作MySQL数据库
  8. CSS清除默认样式,经典好文
  9. 【转】理解SQL Server的安全对象和权限
  10. Python网络数据采集系列-------概述
  11. STL map与Boost unordered_map - 有何不可的日志 - 网易博客
  12. SQL Server中的表变量
  13. Error 2503 and 2502 when installing/uninstalling on Windows 10
  14. Go Web编程(Go语言性能好 语法简单 开发效率高 )
  15. Java job interview:WinForm桌面小程序设计思想及项目实现思路
  16. 罗德里格旋转公式——旋转轴的解法之一
  17. 【coppeliasim】高效传送带
  18. HTML旅游网站设计与实现——东江湖旅游网站6个网页HTML+CSS+JavaScript
  19. 型のデザインのガイドライン
  20. 如何使用数据库的SQLServer身份验证登陆

热门文章

  1. ChemDraw Std 14如何标记同位素
  2. 机构层级列表递归展示查询,并优化SQL查询
  3. tableau三轴合并_玩转Tableau | 实现并排柱形图和线图的复合视图
  4. 基于JAVA实现的纸牌游戏
  5. Kafka(Go)教程(九)---如何避免消息丢失?
  6. 计算机基础知识(二)-word 2016
  7. 最新国家智能工厂政策解读:数字化成为重点趋势
  8. GSM网络跳频技术的应用(转)
  9. MasterAlign对位贴合系统——特殊对位应用
  10. mac 快速关闭访达