OS X 与传统Unix的一点区别
在传统的Unix系统或者Linux系统中,你是很难在根目录下找到大写开头的文件夹的, 但是看一下OS X:
ls /
Applications Users etc private var
Developer Volumes home sbin ~
Library bin OS Xh_kernel tmp
Network cores net uer
System dev opt usr
它的目录结构中有几个小写的目录/bin
/sbin
/usr
(开发时最常用到的目录)/dev
(设备文件目录)/etc
(配置文件目录)/opt
(第三方软件安装目录)/var
/tmp
(临时目录)是按照Unix的要求来分配的,
但是几个大写字母开头的目录则是来源于它之前的内核,/Applications
存放应用程序,/Users
存放用户的家目录(每个用户的家目录都在这下面),/Developer
是给开发者要用到的目录,/Volumes
是挂载目录(一些磁盘或者文件系统都挂到这里)
OS X下有一种包
的概念,简而言之就是把相关的资源组合
在一起。
比如:Linux下开发,你用到的头文件
可能在/usr/include
下,用到的库
可能在/usr/lib
下,
而OS X直接用Framework
直接将头文件、库文件
以及一些文档
等资源组合成一个包,
在编译时不再需要分别指定头文件、库文件,而是仅仅指定
一个Framework
即可。
在发布应用程序时,也是利用包的特性,将应用程序
连同它用到的动态库
、图片
等资源组合成一个包(*.app
),双击
这个包就可以运行
此应用。
/Applications/Cashway.app/
└── Contents
├── Info.plist
├── MacOS
│ └── Cashway
└── Resources
└── main.icns
包的好处
在于将相关的资源进行统一集中
的管理。