[b]什么是Bundle?[/b]
A bundle is a directory with a standardized hierarchical structure that holds executable code and the resources used by that code.
Bundle就是一个标准化分层化的路径,这个目录保存了可执行代码以及这些代码执行的时候需要的资源文件。
[b]Bundle存储哪些文件?[/b]
| 文件 |
作用 |
| Info.plist |
一个iOS App运行所必需的文件,这个结构化的文件里存储着App运行需要的各种因素(例如:需要使用地理位置,支持的设备等等) |
| 可执行文件 |
必需的文件,程序的入口点 |
| 资源文件 |
包括图片,图标,strings文件,nib文件,配置文件等。通常数据文件是可以本地化的,也就是对不同语言进行适配 |
[b]一个简单的Bundle结构[/b]
[img]http://files.jb51.net/file_images/article/201704/2017412100954236.png?2017312101015[/img]
其中
| 文件 |
作用 |
| MyApp |
应用的可执行文件,名字和应用的名字一致 |
| MyAppIcon.png, MySearchIcon.png, MySettingsIcon.png |
图标文件,由于图标要在不同的地方展示(主界面,搜索界面,setting界面等)所以,通常要提供不同尺寸的图标 |
| Info.plist |
必需的文件,上文有阐述 |
| Default.png |
App开启的时候显示的图片 |
| MainWindow.nib |
App开启的时候主界面的nib文件,这个我很少用,一般都是用storyboard来做了 |
| Settings.bundle |
在系统设置信息里的应用配置选项,用来保存那些很少需要改变的配置(这个国外的App用的较多,国内的app不怎么用) |
| 可以本地化的资源文件 |
不可以本地化的文件保存在顶层目录,可以国际化的文件通常保存在响应的语言目录 |
[b]Bundle中资源查找的顺序[/b]
[list]
[*]全局资源(非本地化的资源)[/*]
[*]Region-specific 的资源(国家相关)(本地化)[/*]
[*]语言相关的资源(本地化)[/*]
[*]程序开发语言相关(一般就是英语)
[/*]
[/list]
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!