如上图所示,我们要做的参数化构建就是为了方便使用真,无需打开工程,根据自己的需要,实现构建环境,构建版本可视化操作..
思路: 通过脚本构建 ipa, 拿到 Project_URL 的值, 然后确定打哪个环境的包.获取 Ipa_Verson的值,更改版本号.
完成这样的需求有两点需要突破.
一.因为我们在测试 app 时, 各种环境都需要 ipa, 仅仅 Debug 和 Release 两个环境已经不满足我们的构建需求, 这时我们就需要再创建几个环境变量.通过宏定义的方式,进行选择.
二.我们需要在外部更改 ipa的版本号, 那么我们必须要使用脚本, 那么这个脚本是放在 Xcode 内部,还是放在外部,我们需要实验.
解决第一个问题
创建新的测试环境:
1.点击 configurations 下面的加号,选择增加一个 Debug 的测试环境.
2.在 Build settings 找到 apple LLVM 7.0 -Preprocessing --->Preprocessor Macros 给新建的 Debug_test 添加一个宏定义
3.通过
# ifdef
http://*************
#elif
http://*************
#else
http://*************
#endif
选择构建环境
解决第二个问题
在解决第二个问题时,我首先想到的事在我的外部脚本文件中写入 buildBundle 的数字, 但是这样做出来后有一个问题就是无法安装成功 ipa 文件, 因为在外部脚本中更改,就相当于在打包完成以后强行更改他的 infor 文件.所以这样做事完全行不通的..
所以我就想,怎么在编译的时候把buildBundle的数值进行更改呢.天无绝人之路, Xcode 本事就有这样的配置功能.
Run script 就是专门运行内部脚本的窗口.更改数据的脚本代码添加进去,就可以完美解决.