博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何为你的App配置多环境变量
阅读量:7050 次
发布时间:2019-06-28

本文共 1176 字,大约阅读时间需要 3 分钟。

参考文章

有时为了开发需求,项目中经常要用到多种环境配置,比如开发环境,测试环境,预发环境,以及正式环境等,对于这个问题,一开始想到的是在pch中用一个变量去控制,每次打包都去修改这个变量的值,从来来达到实现不同环境的配置,但这种方式明显太Low,xcode可以在同一个app中设置不同的环境变量(系统默认的是DEBUG和release两种模式),文末会附上demo的github地址

#if DEBUG#else#endif复制代码

这种写法想必大家都不陌生,那么我们如果想增加别的变量,实现类似这种去控制运行环境,该如何实现呢?下面我先描述下如何新增类似DEBUG这种配置变量。

一、第一步

如下几个图

到project-> info中增加你想要定制的环境变量配置

  • 注意,如果有cocoapods,这里增添后要进行一次pod install,pods会自动去配置相关的环境

二、第二步

到project-build settings中搜索preprocessor macros,修改里面的配置如下:

这里要加上${inherited},否则在进行Pod install或者编译的时候会有警告,最终的样式如下:

那么进行到这里,就可以再项目中 用了

三、第三步

到edit schemes -> run中,可以看到build configurations多了两个,这里就可以切换不同的环境

到现在为止,就可以根据不同的环境设置不同的值:

以上几个图已经表明一切

那么,如果想要实现不同环境下不同的app名称或者一个手机上可以安装多个版本的app,那又该如何设置呢?下面主要讲述这一点:

第四步

project->build settings店家加号,add user-defnied setting

比如增加了一个ProductDisplayName,下面四个可以设置对应的名称

之后再info.plist中修改默认的名称为$(ProductDisplayName)即可

此外,为了方便还可以新增schemes

点击这个,可以新增对应的schemes

检查下schemes配置,通过manage shcemes入口进入:

右侧只要都选中就好

下面看下target-general

这里的app名称已经设置为自己定义的了

之后在各自的scheme中的run-build configurations中设置对应的运行环境

对于一个手机上安装多个不同环境的app也是如此,只需要在add user-defined setting中增加一组配置去设置bundle id,并且把info.plist中的Bundle Identifier替换为自己设置的即可,替换方式和name替换方式一样

  • 如果有cocoapods,一定要注意pod install,否则会报错

转载地址:http://mepol.baihongyu.com/

你可能感兴趣的文章
hadoop datanode 不能连接 namenode
查看>>
VyOS--企业软路由推荐
查看>>
node.js 在window下安装
查看>>
CentOS 7打开文件中文乱码
查看>>
Winform动态创建控件对DPI的处理
查看>>
new关键字与malloc的区别
查看>>
《Just For Fun》阅读摘抄
查看>>
hibernate4.3.5.Final入门1
查看>>
python 发送邮件模块
查看>>
unqlite安装/使用/测试
查看>>
SQLite 查询或更新上一条插入的数据
查看>>
Ansible 之 roles使用
查看>>
我的友情链接
查看>>
OpenCV+Dlib进行实时脸部检测
查看>>
【Android】简单的日志工具
查看>>
8月初.wang域名总量TOP14:35互联耐思尼克竞争激烈
查看>>
解决wordpress上传文件2M限制
查看>>
读《学习正则表达式》(1)
查看>>
482. License Key Formatting - LeetCode
查看>>
AWK常用命令总结
查看>>