前言
最近对项目进行优化,就顺便写一些日常开发中会用到的中高级开发技巧。这篇文章聊一下下面三个内容:多环境配置,Mach-O与链接器,Symbol
。
多环境配置
聊到多环境配置,我们先说几个概念
上图就是每个项目都存在的,下面解释下红框内的内容:
- 1.
Project:包含了项目所有的代码,资源文件,所有信息。
- 2.
Target:对指定代码和资源文件的具体构建方式。
- 3.
Scheme:对指定Target的环境配置。
我尝试加入各种iOS开发交流群,群里的气氛大致就是:学什么iOS,iOS完了,OC完了,群里大致三种人:谁有企业开发证书,马甲包了解一下,至今,大部分iOS开发群还都是仅供吹水用,偶尔能碰见几个好心人解决一下问题,作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的iOS开发交流群:130 595 548,不管你是小白还是大牛都欢迎入驻 ,让我们一起进步,共同发展!(群内会免费提供一些群主收藏的免费学习书籍资料以及整理好的几百道面试题和答案文档!)
我们创建好项目,项目默认两个环境Debug和Release环境
,在开发过程中我们也会有两套或者多套服务器环境
,每个环境的地址不同
,粗糙的写法就是如下图所示:
它只能满足两种环境
,无法
适应多环境
,下面我们介绍几种多环境配置方法
Targets进行多环境配置
- 1.我们可以在Targets中创建多个Target
此时我们只是复制了一个Target,没有产生新的代码,就是复制了一套配置,运行也不会报错
- 2.我们修改一下Bundle Id
- 3.修改Info.plist文件
这些修改后,就会发现有两个项目可以选择
,分别运行后,就会发现有两个App
通过这个我们可以配置不同
的icon进行区别
- 4.设置宏
我们可以根据项目设置
自己相应的宏
配置好后,就可以在项目中进行使用了
总结
这种多环境配置有一下缺点:
- 1.会存在
多个info.plist文件
- 2.环境多了,
配置就会比较乱
下面我们再介绍比这个更好的方式
Configurations多环境配置
我们知道在Scheme中我们是可以选择环境
那可以增加新的环境,增加位置如下:
它和上面得Scheme是一一对应的
添加完成后再看看Scheme就会发现多了个刚加入的Test
【问题】:我们每次运行项目都要在上图的Scheme进行切换环境,很不方便,那么有什么办法解决这个问题
- 1.创建Scheme,如下图位置
- 2.点击左下角+进行创建,创自己想要的环境名称