app开发中通常都会涉及到多个环境, 系统为我们准备了两中 Debug Release 但是我们 实际开发项目中 两种 是不够用的 因为 开发项目 基本最少需要 测试 预发 正式 三种环境. 你会根据环境变量 来直接page好URL 以及一些全局变量 而不用 打不同的包 而 手动改代码
什么是环境变量 截图就好理解

然后 第一步 page Configurations 点击 点击加号 原始 就俩 一个 debug 一个release 可以选择copydebug 或者 copyRelease 选择什么环境 根据自己需求 (需求 我理解 基本就是Debug 会多一些调试信息.网上很多人说release,环境下不能断点之类的,自己测试后发现断点什么的和debug、release没有关系 Release 运行速度快很多,流畅。打的包大小可能要比debug小一些


我选择了 两个debug(JamUAT JAMTest) 一个release(JamForm)(一般预发情况下 也是用debug的模式除非公司有具体要求)
重点 ***如果项目中用到了 cocoapods 则需要在建完之后执行一下 pod install 命令。
第二步 这里设置好了 configurations 就需要我们在xcode设置相应的Schemes 来进行关联


我已经创建好了 这个名字 是你自己起的 没关系 怎么起名都可以 这里注意一下 右侧的 勾选项 如果你是 git管理项目 并且你想要别人也用到你这套page 就勾选上 然后 双击 每一个你创建schemes 进去关联上你之前 设置的 configurations

这里 关联 尽可能的 选择 左侧的那一排 run test archive 都选择相应的 configurations 就好了
第三步

找到这里 因为 TAGETS有些选项 并不会 完全copy PROJECT的东西 所以 你在这里设置一下 如果发现 TAGETS里面没有 就在写一次 这里后面 设置的 就是 我们最上面看到的 宏了 这里写什么 代码里面 的判断 就是什么
=1这个标识 具体=几 好像没关系 不等于0 就可以
第四步 还是 这里 搜索Other Swift Flags

这里需要加上 这个 词语 -D 加上环境变量的值 (就是上一步你自己设置的值 如果发现 tagets 里面 这一选项没有 在填进去) 此时 就算结束了 巡行程序 选择不同的schemes 这个 环境变量 就起作用了
最后需要注意的是 因为前面的configurations 是直接复制的copyDebug 的 需要找到这里 把 后续自己的环境变量 的DEBUG 删除 就好

接下来 是根据这个环境变量 来page 不同的东西
1app的名字 根据 环境变量显示不同的名字
第一步: 新建User-defined Build Settings
再次回到Project的Build Settings里面来,Add User-Defined Setting。

起个名字 CustomProductName


接下来 如图

$(这个就是刚才你起得名字)此时你就可以根据不同的环境 切换schemes的时候 显示不同的 app 名字了 (至于bundle Identifier 也可以同理page )
2 app的图标根据环境不同 显示不同的icon 先填进来几个 appIcons

接下来找到 Asset Catalog Compiler 直接设置几种configurations 下的 icons
网友评论