我是靠谱客的博主 激动枫叶,最近开发中收集的这篇文章主要介绍[iOS/Swift]在Release模式下(或者Archive时)关闭后台打印操作,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在 Object-C 的工程中,默认会在 Build Settings 中的 Apple LLVM x.x - Preprocessing 的 Preprocessor Maros / Debug 中添加 “DEBUG=1“ 的定义,这样我们就可以通过 #ifdef、 #ifndef 等预编译指令来区分Debug模式和Release模式下的不同行为(这是不是也算多态的一种,^_^)

// 在 Relase 模式下,关闭后台打印
#ifndef DEBUG
#define NSLog(...) {}
#endif
这段代码可以写在pch文件(预编译头文件)中,如果没有pch文件,可以手动去创建这个文件。具体在 Build Settings 中搜索 "Prefix Header" 就懂了。


在 Swift 的工程中,我们需要手动在 Build Settings 中的 Swift Compiler - Custom Flags / Debug 中添加 “-D DEBUG” 后,才能使用 #if 指令来区分 Debug和Release模式下的不同行为(之后不知道Apple会不会改,但是目前是需要手动添加的)

// MARK: - 在 Relase 模式下,关闭后台打印
#if DEBUG
#else
func print(object: Any) {}
func println(object: Any) {}
func println() {}
func NSLog(format: String, args: CVarArgType...) {}
#endif

有事需要复制代码不能识别,需要在#前面做一些回车操作才行。  郁闷~~


题外话:至于在Release的时候不关闭后台相关打印,是否会影响程序性能,或者包的大小,或者其他的影响!小编目前还没有仔细研究过,如果这方便的资料,会添加到本文内!^_^

最后

以上就是激动枫叶为你收集整理的[iOS/Swift]在Release模式下(或者Archive时)关闭后台打印操作的全部内容,希望文章能够帮你解决[iOS/Swift]在Release模式下(或者Archive时)关闭后台打印操作所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部