Xcode多种Build Configuration配置使用
Build Configuration?
Xcode默认会有2个编译模式,一个是Debug,一个是Release。Release下不能调试程序,编译时有做编译优化,会比用Debug打包出来的运行快,另外包也会更小。
使用场景
我自己碰到的使用场景是,我司的域名有3套:
- 针对开发时的域名
- 针对预上线时的域名
- 针对上线时对外公开的域名
这个时候,就会有多套域名,全部加起来可能有15个左右。每次打包时,就会特别混乱。(注释掉现在使用的域名,打开原本注释掉的那部分,出差错的可能蛮高的,而且不利于阅读)
这个时候,我们就使用它来针对3个环境下不同域名做配置。
配置Build Configuration
1. 添加Configuration
这里我们添加DEVELOP、BETA、保留原有的(release)。这里我们选择直接duplicatte Debug的配置,因为Release的不能做断点调试。
2. 查看Configuration
添加完第1步的Configuration之后,在Edit Scheme里就会看到新添加的配置项
3. 更改Preprocessor Macros
第1步里我们直接复制了Debug的配置项,那这里的值就会有问题,需要自己设置。
4. 在程序里配置对应的Configuration下不同域名
5. 测试
运行程序,修改Scheme下不同的Configuration,就能得到不同的值,那结果就是正确的了。
基于以上的实验,app还可以在不同环境下配置不同的AppIcon和AppName
AppIcon
使用Asset Catalog,分别给三种环境下配置3个名字
- AppIcon
- AppIconDEVELOP
- AppIconBETA
然后去Target - Build Settings里搜索Asset Catalog App Icon Set Name这一项
App Name
Target - Build Settings里点+号,添加一个User-Defined Setting
比如我们请一个叫APP_DISPLAY_NAME的key值,下面BETA叫BETA,DEVELOP叫DEVELOP, Release还是用系统原配置。
进到Target - Info里,修改Bundle name为$(APP_DISPLAY_NAME)
运行结果
打包配置
这几天我们做了一件很蠢的事,把开发用的环境打包发给了Apple。
为了弥补这件事,顺便规范以后的打包问题,于是做了一些配置上的补救。
查了下Apple的文档,原来可以配置,我将Release环境以外的Skip Install配置成NO,就不会Archive出ipa了。
Xcode多种Build Configuration配置使用的更多相关文章
- Xcode的多种Build Configuration
一: 建多个Configuration的目的. 多套域名打包. 1 开发时的域名. 2 内测时的域名. 3 公测时的域名. 4 企业版的域名. 5 APP Store的域名. 通过注释的方式,容易出错 ...
- Xcode添加build configuration
图片转载自:Adding a build configuration in Xcode
- TeamCity : Build 基本配置
前文中我们在 TeamCity 中创建了一个项目 HelloApp,并在这个项目中创建了一个名为 HelloAppDailyBuild 的Build 用来编译 demo 程序.本文我们将详细介绍 Bu ...
- ITK 4.8.1 Qt 5.4 MinGW 4.9.1 Configuration 配置
Download ITK 4.8.1 Download Qt 5.4 with MinGW 4.9.1 Download CMake 3.2.0 I assume you've already ins ...
- VTK 6.3.0 Qt 5.4 MinGW 4.9.1 Configuration 配置
Download VTK 6.3.0 Download Qt 5.4 with MinGW 4.9.1 Download CMake 3.2.0 I assume you've already ins ...
- simplified build configuration
http://blogs.msdn.com/b/saraford/archive/2005/08/16/452411.aspx Did you know… That you can hide the ...
- 【Spring】简述@Configuration配置类注册BeanDefinition到Spring容器的过程
概述 本文以SpringBoot应用为基础,尝试分析基于注解@Configuration的配置类是如何向Spring容器注册BeanDefinition的过程 其中主要分析了 Configuratio ...
- Xcode中opengl的配置
1. GLUT + GLTools + SDL2 Frameworks Search Paths :Framework + Library ( $(PROJECT_DIR)/build ) Searc ...
- Could not determine which “make” command to run. Check the “make” step in the build configuration
环境: QT5.10 VisualStudio2015 错误1: Could not determine which “make” command to run. Check the “make” s ...
随机推荐
- Kubernetes学习-基础架构
kubectl是一个Kubernetes提供的客户端工具,是用于操作kubernetes集群的命令行接口,通过利用kubectl的各种命令可以实现各种功能,是在使用kubernetes中非常常用的工具 ...
- 认识 Iconfont 以及什么是 .eot、.woff、.ttf、.svg
一.Iconfont 1. 概述 在前端作业中,二十年前只有页面中铺满文字就算上线产品,现如今,不加点俏皮的“图标”会让页面显得很 Low 很 Low. 图标 在写这篇文章之前,我一直以为上图中的 ...
- 作业要求 20181204-5 Final阶段贡献分配规则及实施
此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2479 贡献规则 贡献分分配规则: 组内一共八名同学,贡献分共计80分. ...
- M1阶段事后分析
M1阶段的开发结束了,在周四的课上我们组也进行了alpha阶段的汇报.我们的努力得到了应有的回报,下面我们将针对M1阶段产生的一些问题进行分析和反思. 一.设想和目标 1.我们的app更像是一款针对北 ...
- 20135327郭皓--Linux内核分析第五周 扒开系统调用的三层皮(下)
Linux内核分析第五周 扒开系统调用的三层皮(下) 郭皓 原创作品转载请注明出处 <Linux内核分析>MOOC课程 http://mooc.study.163.com/course/U ...
- 第二阶段冲刺——seven
个人任务: 马佳慧:设计界面背景,统一风格. 王金萱:整体运行测试上传到公网上的程序. 季方:修改优化已上传的代码. 司宇航:整体调试程序继续优化. 站立会议: 任务看板和燃尽图:
- MySQL与Oracle集群主从复制工具
Oracle提供了DataGuard:MySQL提供了Group Replication,简称MGR. Oracle DataGuard的文章:http://www.cnblogs.com/adolf ...
- [转帖] CentOS 添加新的CA证书到认证地方
Install the ca-certificates package: yum install ca-certificates Enable the dynamic CA configuration ...
- Jquery 临时
<!--微信小程序--> <div id="page1" class="page page1"> <nav> <div ...
- OneZero第五周第二次站立会议(2016.4.19)
1. 时间: 15:15--15:25 共计10分钟. 2. 成员: X 夏一鸣 * 组长 (博客:http://www.cnblogs.com/xiaym896/), G 郭又铭 (博客:http ...