美文网首页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