在 Swift 中使用DEBUG标记

在 OC 中,我们经常会使用 DEBUG 标记来区分开发版本和发行版本,例如,控制调试信息的打印.

但是在使用 Swift 之后,我们发现DEBUG 不能正常工作.原因是 Swift 中没有DEBUG这个标记.例如下面的代码:

    func GUILog<T>(_ message: T, fileName: String = #function, methodName: String = #function, lineNumber: Int = #line) {
        #if DEBUG
        print("\(methodName)[\(lineNumber)]:\(message)")
        #endif
    }

虽然并不会报错,但是始终不会有打印.

解决方案

Build Settings 中搜索 other swift flags

14658688864325.jpg

点击图中红色框内部(注意不是直接点击+),会出现一个这样的对话框.(可能已经有其他标记,如果你使用了 cocoapods 的话,不过不用在意),点击左下角的+ ,或者双击任意空白行,输入-DDEBUG.

14658689870706.jpg

点击其它任意区域.结果如图

14658691302051.jpg

现在,DEBUG就能正常工作了!
可以通过调整模式来进行测试:

14658692067377.jpg

把图中的地方改成Release,即可进行测试.

Tips

这个编译标记可以随便定义,并不是只能是DEBUG,只要标记能够对应,即可正常工作.编译器只是会看,在Debug模式下,有哪些标记.(或者在 Release 模式下有哪些标记.)例如:

14658693876738.jpg

代码:

    func GUILog<T>(_ message: T, fileName: String = #function, methodName: String = #function, lineNumber: Int = #line) {
        #if DEFAULT
        print("\(methodName)[\(lineNumber)]:\(message)")
        #endif
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容