第03章藏经阁——项目管理
3.1 文件管理
3.1.1 创建文件
3.1.1.1 创建全新文件
通过File —> New —> New File…可以创建新文件。
通过 File —> Add Files to也可以向当前工程添加已存在的文件。
3.1.1.5 重命名文件
在项目导航器中选择需要修改名字的文件,然后单击即可以修改,也可以在Utilities Area的File inspector的 identity and Type中的Name修改文件名。
如果需要修改文件扩展名,那么仅仅修改扩展名是不够的。Xcode已经记下了原文件的编译方式,修改完文件扩展名后还要在Identity and Type中的File Type中修改文件的扩展类型。
3.1.2 分组
分组的作用和普通的文件夹很相似,但它是一个逻辑结构。可以随意设计分组,这并不会影响到物理存储结构。通常情况下可以随意组织分组,但最好不要随意删除或重命名Products分组。
通过New Group和New Group from Selection可以创建新的分组。
删除文件:Do you want to move “Xxx.c” to the Trash,or only remove the reference to it? Remove Reference / Move to Trash
3.2 对象管理
对象(Target)描述了被构建的产品(应用,扩展,单元测试包)和用于构建它的指令。
这些指令规定构建设置、阶段、规则和项目中的源代码和源文件。
一个项目可能包含超过一个对象,如Xcode默认创建的iOS项目中包含两个对象,一个是iOS应用本身,另一个是对应的单元测试对象。
简单的说,对象就代表了一个实际可运行的应用,可攻Xcode来进行编译。
实际上,使用项目模版创建项目时,当中的一个个模板就是一个个对象,只不过某些项目模板包含多个对象而已。
通过File-》New-》Target就可以在项目中添加对象。
对象描述了被构建的产品和用于构建它的指令,在整个对象的设置环节中,包含了“项目属性”设置和“对象属性”设置。对项目属性的设置会影响到对象属性的设置。
3.2.2 对象设置
3.2.2.1 项目属性设置
项目属性设置:项目属性设置中的属性是全局属性,适用于该项目下的所有对象。
项目属性包含两个选项卡,分别是Info(信息)选项卡和Build Settings选项卡。Info选项卡主要有三个分组:
Deployment(|dɪˈplɔɪmənt| noun 部署) Target(部署对象):用来定义项目所有对象的最低OS版本。
Configuration(|kənˌfɪgjəˈreɪʃn| noun 结构 )(配置):项目所有对象的可用编译配置。编译配置主要描述了编译环境的相关设置属性。
Localizations(localization |ˌləʊkəlaɪˈzeɪʃn| noun 本地化)(本地化):让开发人员指定应用程序本地化的语言。
3.2.2.2 对象属性设置
1.通用(General)选项卡
1.1 Identify(标识符)栏主要定义了一些和应用发布有关的标识属性。
Bundle Identifier(包标识符)是该应用的唯一ID,用来让操作系统和AppStore识别。在创建项目或者对象过程中Xcode就自行创建了包标识符,一般情况下不要修改它。
Version(外部版本号)使用户能够看到的版本号。
Build(内部版本号)开发者自己看到的版本号,以区分内部测试版本。
1.2 Deployment Info(部署信息)定义了一些和应用配置相关的标识属性。
Deployment Target(部署对象):用来设置支持的最低版本。
Devices(设备):用来设置支持的设备,有iPhone、iPad和Universal(|ˌjuːnɪˈvɜːsl| adj 普遍的、全体的、通用的 )三个选项。
Main Interface(主界面):应用启动时预加载的主界面视图。
Device Orientation(设备方向):定义应用支持的方向。有Portrait(|ˈpɔː trɪt| noun 肖像、描绘)、Upside Down、Landscape(|ˈlændskeɪp| n 风景、风景画) Left(横评、Home键在左)、Landscape Right几种方向。
Status Bar Style(状态栏样式)
1.3 App Icons and Launch Images:应用图标和启动页面。
启动页面在屏幕适配中的作用:
[每个机型,比如同时支持iPhone和iPad的程序,需要分别为iPhone跟iPad指定启动图片。当旧的iPhone 4的程序,运行在iPhone 5上面,没有iPhone 5的启动图片,就采用兼容模式,上下留黑边。当为iPhone 5指定了新的启动图片,系统就认为这个应用程序是已经适配了iPhone 5的
当旧的iPhone 5程序运行在iPhone 6上面,假如没有经过适配。旧程序自动等比放大,铺满新手机,旧程序也可以正常运行。这种方案可算是自动适配。但因为旧程序拉伸了,整体看起来有点虚,也不能更好利用大屏空间。
当需要开发者手动适配的时候,跟iPhone 4过渡到iPhone 5一样,在新程序中,指定一张新的启动图片。当指定了启动图,系统就认为应用已经做好了屏幕适配,屏幕分辨率就变成应有的大小。
在某机型上,如果是自动适配,比如iPhone 5,老版程序就会在屏幕上、下俩端多出俩块黑条;比如iPhone6/6plus,老版程序就会自动等比拉伸。那如何关闭自动适配?
指定启动图或者使用Launch Screen File.xib,即程序使用手动适配,不会做拉伸等,但是程序内部必须已做处理,否则使用自动适配方案。 ]----以上中括号部分来自互联网
1.4 Embedded Binaries(绑定二进制文件):用来连接二进制文件,一般在使用第三方SDK的时候使用。
1.5 Linked Frameworks and Libraries(链接的框架和库):选择要链接的框架和库,既可以是SDK自带的框架,也可以是第三方框架,在Build Phases中也有类似的功能选项。
2.功能(Capabilities)选项卡
功能选项卡中定义了Xcode提供的许多特殊功能,如Maps、HealthKit等。