iOS开发xconfig和script脚本使用详解.docx
第
iOS开发xconfig和script脚本使用详解
目录引言Xcode编译XcodetargetXcodeprojectXcodescheme新建configurationConfiguration文件的使用利用Configuration设置不同的项目名设置Configuration查看是否设置成功设置Info.plist测试是否生效利用xconfig文件实现OC条件编译xconfig文件的设置Swift中条件编译的实现script的使用script的初步认识script的实际运用总结
引言
利用Xcode进行开发时需要进行很多buildsetting的设置以便能让项目按照设置的进行编译,同时有时候需要在编译时利用script脚本进行一些设置,本文主要介绍xconfig文件和script脚本在Xcode开发中使用。
Xcode编译
在使用xconfig时有几个关于Xcode的概念是需要理解的,这里我进行通俗简单的说明,同时需要知道Xcode在编译的过程中具体帮我们做了那几件事情。
Xcodetarget
在实际开发中一个Xcode创建的项目是可以有多个taget的,比如我们创建一个widget时Xcode会自动新建一个target对应这个widget,也可以自己新建,同一个项目有多个target可以满足不同的测试场景,比如在前期开发阶段使用一个target,到UAT阶段使用另外一个target。一个target对应一个product,也就是编译后安装到手机上的项目,target定义了生成的唯一product,它将构建该product所需的文件和处理这些文件所需的指令集整合进buildsystem中,这些指令以buildsetting和buildphases的形式存在,我们用xconfig文件来设置buildsetting,同时将script脚本添加到buildphases中。
新建target
Xcodeproject
Xcodeproject是一个仓库,该仓库包含了所有的文件,资源和用于生成一个或者多个softwareproducts的信息,它包含一个或者多个targets,其中的每一个target指明了如何生成ject为其拥有的所有targets定义了默认的buildsettings,例如project中默认包含debug和release两种buildsettings当然,每一个target能够制定其自己的buildsettings,且target的buildsettings会重写project的buildsettings。
Xcodescheme
一个project可以有多个target,但是当前的target只能有一个,scheme就是用来确定当前的target的,并制定当前的target使用哪种configuration。
新建configuration
打开项目编辑栏选择上面的progect同时选择info栏,可以看到Xcode默认添加了二个Debug和Release的configuration,点击做下角的+号按钮选择复制Debug或者Release其中一个configuration来新建并命名一个自己想取的名字,我这里命名为Mamba。
Configuration文件的使用
平时手动的在Xcode中进行项目的一些buildsetting设置还是比较麻烦的,一个是需要在Xcode中进行搜索,另外一个是不好管理,例如需要在debug或者release下进行不同的设置的话就比较麻烦。利用Configuration文件来代替手动设置则更加的方便,直接新建ConfigurationSettingfile类型文件,如下图所示:
利用Configuration设置不同的项目名
Configuration文件是可以继承的,一般先建立一个CommonConfiguration文件用来作为父类,为此新建一个名为Common的Configuration文件,并加入如下代码:
APP_NAME=TestDemo
然后分别新建名为debug,Mamba和release的Configuration文件,并加入如下代码:
debug
#includeCommon.xcconfig
APP_NAME=$(inherited)Debug
Mamba
#includeCommon.xcconfig
APP_NAME=$(inherited)Mamb