美文网首页iOS开发
Xcode配置-利用Scheme实现多套环境配置

Xcode配置-利用Scheme实现多套环境配置

作者: Frankkkkk | 来源:发表于2019-08-05 14:48 被阅读0次

背景说明

在iOS开发过程中,常常会朋友一个应用对应多套环境的情况,一般分为测试环境、预发环境、生产地址,每套地址的域名不一样。每次打包或者安装的时候都要手动去修改一下地址相当麻烦,而Xcode正好提供了一个可以轻松解决这种情况的机制—Configuration。

跟Schema相关的配置

  • Build Archive Architecture Only:只编译当前架构
  • Code Signing Identity: 打包证书
  • PreProcessor Macros: 预编译环境常量
  • Asset Catalog Compiler - Options: 图片资源编译选项
  • User-Defined:用户定义的常量

新增Scheme配置

添加测试环境配置

新增测试环境配置
注意:添加测试环境时复制测试环境的配置,添加线上环境时复制线上环境的配置。

新建 Scheme

新建 Scheme

新建完成后,Build Configuration 选刚才新建的配置FKTestDebug

iBuild Configuration配置

下面依次来说几个配置项:
1.Build Active Architecture Only

Architecture

在Build Settings中:
Architectures 想支持的指令集
Valid Architectures 有效的指令集
Build Active Architecture Only 是否只编译当前设备适用的指令集(如果这个参数设为YES,那么如果你用iPhone 6调试,最终生成的一个只支持arm64指令集的Binary,不过指令集是向下兼容的,比如用iPhone4(armv7)编译出来的APP,可以在iPhone5(armv7s)上运行,因为armv7s向下兼容armv7,但是不可以在iPhone3G(armv6)上运行;如果这个参数设为NO,最终生成一个支持 Architectures 中所有指令集的Binary,所以一般在DEBUG模式下设为YES,RELEASE设为NO,这样可以加快打包的速度)
iOS设备的指令集常见的有以下几种:

  • ARMv8/ARM64: iPhone 6(Plus), iPhone 5s, iPad Air(2), Retina iPad Mini(2,3)
  • ARMv7s: iPhone 5, iPhone 5c, iPad 4
  • ARMv7: iPhone 3GS, iPhone 4, iPhone 4S, iPod 3G/4G/5G, iPad, iPad 2, iPad 3, iPad Mini
  • ARMv6: iPhone, iPhone 3G, iPod 1G/2G

因为Configuration在原来的基础上添加了一条测试配置,所以Build Active Architecture Only 中也出现了1个条目,可供配置。

2.Code Signing

Code Signing
可根据scheme配置对应的证书

3.Preprocessor Macros 预编译宏
这条就重要了,环境常量可以用来配置App的环境
1、新增一条环境常量:

增加环境常量的步骤

2、测试环境变量是否可用


模拟环境配置

3、经测试,环境变量可用!

4.Asset Catalog Compiler - Options
1.添加Icon的图片集

新建图片文件目录

2.在配置中修改配置对应的Icon图集


调整icon目录

5.User-Defined

增加User-Defined

新增一条AppName

新增一条AppName

2.自定义好用户自定义宏后,打开info.plist,读取自定义的宏,语法为${XXXX},本例中在Bundle nameBundle identifier中输入${APP_NAME}、${APP_IDENTIFIER},在运行程序的时候,app对应的设置就会读取大括号中的值自动变更了。

info.plist修改

Cocoapods项目

当项目是Cocoapods项目时,
如果发现除了自带的Release和Debug可以运行外其他的都不能运行,
可以尝试选中pod的project,在它的配置中也添加对应的Configuration就可以了。

参考文章:https://www.jianshu.com/p/650c923255b0

相关文章

网友评论

    本文标题:Xcode配置-利用Scheme实现多套环境配置

    本文链接:https://www.haomeiwen.com/subject/jcwpdctx.html