内容简介:在日常开发中,我们通常会在 Debug 开发模式下写很多测试代码,或者引入一些测试专用的Xcode 在 Debug 模式下已经自动帮我们定义了宏
在日常开发中,我们通常会在 Debug 开发模式下写很多测试代码,或者引入一些测试专用的 .a
静态库或 .framework
动态库,也会通过 CocoaPods 引入一些第三方测试调试 工具 等;但我们往往不希望这些测试代码和测试用的库(Library/Framework)在 Release 正式包中被引用或导入,如何做到呢?
-
.h/.m
文件中的测试代码
Xcode 在 Debug 模式下已经自动帮我们定义了宏 DEBUG=1
,所以我们可以在代码文件中把相关测试代码写在编译预处理命令 #ifdef DEBUG ... #endif
中间即可,如下图所示,这也是我们最常见的一种用法。
- 测试用的
.a
静态库或.framework
动态库
对于通过拖拽的方式直接在工程中添加一些用于测试 .a
或者 .framework
,我们可以在 Targets - Build Settings - Search Paths 中分别设置 Library Search Paths
和 Framework Search Paths
这两个选项,如下图所示(其中 libWeChatSDK.a 放在 WeChatSDK 目录中,而 TencentOpenAPI.framework 放在 QQSDK 目录中,假设它们只在测试时会用到),我们可以移除 Release 模式下测试用的 .a
或 .framework
所在的目录,只在 Debug 下保留,这样在打 Release 包时就不会包含这些库了。(当然在代码中使用到这些测试库的地方也要像上述一样写在 DEBUG 中间)
- CocoaPods 引入的测试库
对于通过 CocoaPods 方式引入的第三方测试库,就很方便了,我们可以配置 configurations
选项让它们只在 Debug 下生效,如下图:
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- TableView弹窗 弹性设置,一行代码接入
- WPF从代码后面设置命名样式元素?
- VSCode利用Snippets设置超实用的代码块
- 一个UI布局框架,以最少的代码实现UI设置及布局控制
- Appium_调试腾讯订制开发的X5版本webview的关键代码和不同于普通webview设置的地方
- golang 静态文件资源服务器设置2 Main.go代码<embed wmode="transparent" src="https://qq4668620...
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。