ios NSLog不打印设置

本文介绍在Xcode中使用宏来管理NSLog语句的方法,避免发布应用时因大量日志输出影响性能或泄露敏感信息。通过设置不同的编译配置,可以在调试和发布环境下灵活控制NSLog的输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前提: 在X-code做开发调试往往需要打印一些调试信息做debug用,大家都知道打印信息的地方多了之后再模拟器上跑可能不会有什么问题,因为模拟器用的是电脑的硬件。但是,当应用在设备上运行时这些输出语句会很大程度上影响应用的性能。针对这种问题可以写一些宏(一改全改)来调试这些调试语句信息的输出。省得发布之前还得全工程搜索屏蔽这些暴力调试语句。

为什么发布之前要屏蔽NSLog
1、NSLog 消耗系统资源(暴力调试)
2、输出数据可能暴露app保密数据

在Release版本下禁止输出NSLog内容
在预处理文件(.pch)添加下面代码块


#if DEBUG
#define NSLog(...) NSLog(__VA_ARGS__)
#define debugMethod() NSLog(@"%s",__func__)、
#else
#define NSLog(...)
#define debugMethod()
#endif

上面代码的意思就是: 用宏指令做一个判断,如果DEBUG为真,则编译#ifdef到#endif宏定义,否则编译器就不编译。

如何设置DEBUG和RELEASE
x-code正上面工具栏product->Scheme->Edit Scheme->Bulid Configuration设置成debug,此刻打印NSLog,如果设置成release,不打印NSLog。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值