详解iOS Project和Targets配置

2020-01-21 04:30:45王振洲

iOS,Project,Targets,配置

iOS,Project,Targets,配置

二 project和target的属性设置

关于project和target的属性设置,如下图所示就是project和target的属性设置界面,左边是project的属性设置界面,右边是target的属性设置界面。相对而言project的比较简单,只有info和build setting两项,毕竟只是对项目资源进行简单的设置,而target的设置则比较复杂,有general、capabilities、resource tags、 info、build setting、build phases和build rules七项,因为target的每一项设置都直接决定了我们最终App的显示效果。下面我们就一一来学习和了解各个界面的设置有什么作用。

iOS,Project,Targets,配置   

iOS,Project,Targets,配置

2.1 project属性设置

project的属性设置有两块内容,info和build setting,但是project的build setting和target的build setting之间是相关的,target的build setting的一部分设置会继承project的build setting部分。所以,project的build setting部分内容就放在2.2target属性设置部分进行统一讲解,本小节就主要了解project的info属性设置部分,info属性的界面如下:

iOS,Project,Targets,配置

主要分为三部分:Deployment Target、Configurations和Localizations。

Deployment Target:部署配置,主要是对本project的生成的App的可以运行的最低版本进行配置,默认是当前Xcode上API的最新版本,所以,在我们的项目中有需要对低版本适配的地方需要在这里设置。同样的,我们还可以在build setting中对这一属性进行设置,两者是同步的。 Localizations:本地化,这里的功能主要是添加我们的App所支持的语言,通过上图最下面的红色圈内的【+】【-】按钮可以添加或删除不同的语种,并可以选择根据手机的设置进行不同语种的自适应。关于最下面的选择是否开启国际化,默认是开启的

Configurations:用来配置iOS项目的xcconfig文件,主要用于在几套不同的开发环境编译。xcconfig文件其实就是xcode里的config文件,本质是一个用来保存Build Settings键值对的纯文本文件。这些键值对覆盖Build Settings中的值,所以当在xcconfig文件中配置了的选项,在Build Settings中设置将失效。我们在项目中一般不会进行xcconfig文件的自定义。具体xcconfig文件是什么东东,大家可以查看:iOS之Xcconfig杂谈 。估计很多新入门的iOS开发对xcconfig文件都不是很熟悉(其实我也不是很了解。。。), 但是大家可能都用过Cocoapods, 其实Cocoapods的项目配置管理很多都是依赖xcconfig文件去实现的。所以在使用Cocoapods进行导包的项目中,我们通过打开.xcworkspace文件,我们会发现project-->info-->configutations下的都有对应的配置文件,而原先没有用Cocoapods配置的则没有相关的配置文件,具体区别如下图所示。