当build iPhone程序时,Xcode会将它打成一个包。这个包是文件系统下的一个目录用于将相关资源放到一起。一个iPhone程序包包括可执行程序和程序使用的各种资源(例如程序图标、其他图片和本地化资源等)。下面我们逐个看一下iPhone程序包里到底有什么?
盛放程序代码的可执行文件。此文件的名称与工程的名称相同。这个文件是必须的。
Settings.bundle是一个像设置程序(Settings Application)添加设置选项的一组文件包。这个文件包中包含有属性列表和其他用于设置和现实属性的资源。
Icon.png是一张57*57的png图片,用于在iPhone的主界面上作为程序图标代表你的程序。这张图片不需要有其他附加特效,系统会自动添加这些效果。此文件是必须的。
Icon-Setting.png是一张29*29的png图片,用于在设置程序中作为图标代表你的程序。如果你的程序有Settings.bundle,这个图标将会显示在程序名的旁边。如果你没有设置这张图片,系统会将Icon.png缩放来代替。
MainWindow.nib保存在程序启动时需要加载的默认的界面对象。一般来说,MainWindow.nib保存着程序主窗口对象和程序的代理对象的实例。其他界面对象要么从别的.nib文件载入,要么通过代码编程实现。
Default.png是一张480*320的png图片用于在程序启动时显示。启动时,系统会用这张图片作为临时背景,直到程序载入了他的窗口和用户界面。
这是一个512*512的图标用于那些用ad-hoc方式发售的程序。一般来说,这个图标由App Store提供;因为通过ad-hoc方式分销的软件不通过App Store,但它必须在程序保重显示。iTunes用这个图标来显示你的软件。(这张图片必须与提交给App Store的图片(jpg或png格式)相同。文件名必须为iTunesArtwork,并且不能有后缀。)
Info.plist是程序的信息属性列表。这个文件用键-值的形式定义了程序的属性,例如Bundle ID、版本号、显示名称等。
非本地化资源放在包的最上层。程序可以任意使用非本地化资源,不管用户选择的语言。
本地化资源被放到一个以ISO639-1语言所写,以.lproj为后缀的目录中(例如en.proj, fr.proj保存着与英语和法语相关的本地化资源)。