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. 线性矩阵不等式LMI的运用与Lipschitz非线性系统观测器的设计
  2. 链表问题2——在单链表中删除倒数第K个节点
  3. 报名 | 2019年社会计算机国际会议
  4. jenkins+ant+git+android搭建笔记
  5. PHP中session的工作原理
  6. C++中的多态(一)
  7. 如何访问SAP Spartacus里的config数据
  8. micropython lcd12864_Esp8266+ssd1306液晶屏+microPython(2020-09-25)
  9. 百度回应“宕机”;微信 5 年内出 VR 版?腾讯破解谷歌漏洞 | 极客头条
  10. HDFS伪分布式集群搭建
  11. centos7搭建smb服务
  12. boost shared_ptr 用法
  13. 深入解读Linux进程调度系列——数据结构解析
  14. pip下载opencv报错
  15. Html和css算是编程语言吗,不被承认的编程语言
  16. node.js接入微信公众号开发
  17. 揭秘如何搭建梦幻西游社交框架
  18. 汽车软件架构学习笔记(一):九问软件架构
  19. [生存志] 第51节 子产相郑铸刑书
  20. mysql多进程模块型_mysql mysqld_multi 单机多进程

热门文章

  1. 带 Touch ID 的新款 iMac 妙控键盘可以单独购买
  2. 阿里巴巴马云掀金融革命:反哺商购交易
  3. scrapy爬取字幕组今日更新影视-附源码
  4. Java内存溢出故障案例及Linux内存机制探究
  5. 【mysql 登录故障】ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using passwor:yes)
  6. 【特殊软件】ES文件浏览器特殊版v4.2.6.1 去广告高级版
  7. (转)求质数算法的N种境界[1] - 试除法和初级筛法
  8. java中级工程师所需的技能_一个Java工程师的岗位职责及所需的知识技能!
  9. Bugku crypto 入门题之聪明的小羊
  10. 数据异常分析方法论总结