Xcode 调试之 #if DEBUG

在调试应用的时候,我们会遇到一些功能或界面需要在测试的时候显示,但是上线后隐藏。比如说我的应用 Eye Monitor 会在用户工作一定时长后弹出一个全屏提醒,在测试时我需要一个按钮让我主动触发这个全屏提醒进行调试。

以前我会通过两种方式实现:

第一种是直接在代码里新增内容,并在上方用 //Test 标注,在上线前删掉。

第二种是将一些测试功能如按钮隐藏在看起来不可点击的区域,这样即使不小心上线了也不影响用户。

最近发现用 #if DEBUG 在很多情况下会更方便。在 #if DEBUG 和 #endif 括起来的区域内的代码,仅会在debug模式下运行,这样就完全不用担心忘记删除代码上线的情况了。

                    #if DEBUG
                    Button {
                        appDelegate.showRemindWindow()
                    } label: {
                        Text("showReminder")
                    }
                    #endif

我在 Eye Monitor 的代码中增加这段内容后,在 Xcode 编译时选择 debug 模式,就会出现下图右上方的”showReminder“按钮:

而当我将编译模式修改为 release 时,就又恢复正常:

完美!

本文首发于公众号「原住民的自修室」,记录一名产品经理的生活,随想和思考,欢迎订阅。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值