Xcode 设置代码只在 Debug 下起效的几种方式

栏目: 编程工具 · IOS · 发布时间: 6年前

内容简介:在日常开发中,我们通常会在 Debug 开发模式下写很多测试代码,或者引入一些测试专用的Xcode 在 Debug 模式下已经自动帮我们定义了宏

在日常开发中,我们通常会在 Debug 开发模式下写很多测试代码,或者引入一些测试专用的 .a 静态库或 .framework 动态库,也会通过 CocoaPods 引入一些第三方测试调试 工具 等;但我们往往不希望这些测试代码和测试用的库(Library/Framework)在 Release 正式包中被引用或导入,如何做到呢?

  • .h/.m 文件中的测试代码

Xcode 在 Debug 模式下已经自动帮我们定义了宏 DEBUG=1 ,所以我们可以在代码文件中把相关测试代码写在编译预处理命令 #ifdef DEBUG ... #endif 中间即可,如下图所示,这也是我们最常见的一种用法。

Xcode 设置代码只在 Debug 下起效的几种方式

  • 测试用的 .a 静态库或 .framework 动态库

对于通过拖拽的方式直接在工程中添加一些用于测试 .a 或者 .framework ,我们可以在 Targets - Build Settings - Search Paths 中分别设置 Library Search PathsFramework Search Paths 这两个选项,如下图所示(其中 libWeChatSDK.a 放在 WeChatSDK 目录中,而 TencentOpenAPI.framework 放在 QQSDK 目录中,假设它们只在测试时会用到),我们可以移除 Release 模式下测试用的 .a.framework 所在的目录,只在 Debug 下保留,这样在打 Release 包时就不会包含这些库了。(当然在代码中使用到这些测试库的地方也要像上述一样写在 DEBUG 中间)

Xcode 设置代码只在 Debug 下起效的几种方式

  • CocoaPods 引入的测试库

对于通过 CocoaPods 方式引入的第三方测试库,就很方便了,我们可以配置 configurations 选项让它们只在 Debug 下生效,如下图:

Xcode 设置代码只在 Debug 下起效的几种方式


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

区块链

区块链

(美)梅兰妮·斯万 / 新星出版社 / 2016-1-1 / 50元

本书以全景式的方式介绍了区块链相关技术目前发展状况和未来技术衍生方向的展望,作者认为区块链技术可能是继互联网发明以来最大的技术革命。全书从比特币的概念模型和区块链技术正开始结合的方面讨论了三个不同的结构层面:区块链1.0、2.0和3.0。首先介绍了比特币和区块链技术的基本定义和概念,还有作为区块链1.0应用核心的货币和支付系统。其次,区块链2.0将超越货币范畴,会发展为货币市场和金融应用,类似于合......一起来看看 《区块链》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具