[iOS/Swift]在Release模式下(或者Archive时)关闭后台打印操作
2015-07-08 08:49
309 查看
在 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会不会改,但是目前是需要手动添加的)
有事需要复制代码不能识别,需要在#前面做一些回车操作才行。 郁闷~~
题外话:至于在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的时候不关闭后台相关打印,是否会影响程序性能,或者包的大小,或者其他的影响!小编目前还没有仔细研究过,如果这方便的资料,会添加到本文内!^_^
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- Apple Swift学习教程
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- js判断客户端是iOS还是Android等移动终端的方法
- IOS开发环境windows化攻略
- Swift中实现点击、双击、捏、旋转、拖动、划动、长按手势的类和方法介绍
- Swift中定义二维数组的方法及遍历方法示例
- .net平台推送ios消息的实现方法
- 探讨Android与iOS,我们将何去何从?
- Android、iOS和Windows Phone中的推送技术详解
- Swift与C语言指针结合使用实例
- Swift心得笔记之控制流
- IOS 改变键盘颜色代码
- Android和IOS的浏览器中检测是否安装某个客户端的方法