如何使用Xcode Configuration 管理 iOS Apps 不同构建版本

面临的问题

我们在开发过程中,会遇到不同的环境,dev的,uat的,prod的等等,不同环境,会有不同的domain,也有不同的配置,像dev环境会有一些log,埋点辅助开发,一旦到prod环境,就不再有开发log;再比如不同版本,app icon不同啊; 不同版本的提示不同信息啊。我们需要构建不同版本。但如何在Xcode中有效率的管理所有构建版本,而且不改变原有的代码呢?

解决方案

  1. 首先,讲一讲我之前用的笨法子: 手动修改获取domain name的方法,通过build setting里的配置项,将当前环境调成debug 模式,然后再连调,打包,给测试测。
    问题: 手动改code,还有有约定俗成的切换方式,分几步,都改哪些,每个人都要关注这些事情,在local办公区还算说得过去,如果是global办公环境,那就真的口口相传吧~~~
  2. 当然,你可以通过创建不同targets,不同的target使用对应的info.plist,可以借此进行不同配置的设置
  3. 还有可以使用Bundle Identifiers來实现,定义不同的preprocessor macros控制各個代码块的编译条件
    可以参考: How to Use Xcode Targets to Manage Development and Production Builds
  4. 重头戏 – 简单更改scheme来切换不同版本的配置
    将你的构建配置设定放到.xcconfig文件中,在对应的info文件内引用它,通过切换scheme来换不同配置。将这些配置(build configuration)设定放在项目里,特别方便配置管理了(configuration management)

如何操作

话不多说,直接上图

建立Build Configuration

  1. 首先,选中你的project,找到info,看到Configurations底下有2个选项,这就是2个不同的版本。
  2. 你可以选底下的“+”,来再添加一个你需要的版本,比如:Uat,我们这里选择Duplicate ”Debug" Configuration,因为debug配置中删除我们不需要的东西,比release配置要容易的多。
    请添加图片描述
  3. 添加之后就是如下图所示,你有三个级别的配置。
    你也可以修改名字,比如将release修改称Prod请添加图片描述

使用Xcode配置文件(.xcconfig)

我们使用Xcode配置文件(.xcconfig)取代conditional compilation blocks,来管理不同配置(token,domainURL等等)
.xcconfig其实就是一个基于key/value的文件,像dictionary. 你可以通过key/valu

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值