Xcode 设置代码只在 Debug 下起效的几种方式
source link: https://kangzubin.com/xcode-debug-code/?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
在日常开发中,我们通常会在 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 下生效,如下图:
Recommend
-
82
原标题:贾跃亭只在谣言里被救赎?作为2017年新闻报道中不可或缺的人物,即便远走美国,贾跃亭依然在为媒体源源不断地供应着话题和流量。最近一周,数家媒体相继报道来自印度的塔塔集团9亿美元注资贾跃亭的法拉第未来(FaradayFuture),以
-
46
分享一只在马路上狂奔的 BB-8,突然有了给轮胎换个涂装的想法
-
38
北京地区共享单车涨价了!新京报快讯(记者马瑾倩)共享单车涨价了!近期,有网友发现,摩拜单车在使用界面弹出新版计费规则,其中起步价由1元/30分钟更新为1元/15分钟,并将于4月8日起执行。此前小蓝单车已于3月21日开始执行同样的标准,目前新
-
41
本文来自全天候科技,阅读更多请登陆www.awtmt.com或华尔街见闻APP。 作者|张吉龙 编辑|罗丽娟 镜头里的李子柒骑在马上,马速很快,目的地到了,她翻身、下马、采花,又上马,飘然而去,一气呵成。这是李子柒发布的众...
-
10
他们不想只在CBD打工,于是结伴到城中村养甲虫广州CBD周边城中村里这个像极犯罪窝点的诡异房间,虽然环境与山间田野大相径庭,但确确实实是他们离童年回忆最接近的地方。本文来自微信公众号:
-
8
研究人员研发出一种只在癌细胞内溶解的载药纳米颗粒_IT新闻_博客园 研究人员研发出一种只在癌细胞内溶解的载药纳米颗粒 投递人
-
2
游戏圈寒冬下起“暖雪”,近50万套销量,与被救赎的独立游戏开发者 2022-06-16 •
-
1
【.NET 6】多线程的几种打开方式和代码演示 前言: 多线程无处不在,平常的开发过程中,...
-
1
苹果iPhone 14系列高通胀下起售价保持不变,苹果玩的什么策略? 李孟林 2022年09月10日 08:12 北京时间9月8日凌晨1点,苹果(AAPL,...
-
4
Grafana系列-GaC-1-Grafana即代码的几种实现方式
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK