- 浏览: 568946 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
JYY282:
[i][/i]
Ecshop与Shopex的比较 -
qq247890212:
我也遇见这问题了,真诡异。重新下载个猫换了就好了。 太浪费时间 ...
诡异:ClassNotFoundException: org.springframework.web.filter.CharacterEncoding
From: http://blog.csdn.net/remote_roamer/article/details/7107320
使用NSLog的一个风险是:它的运行会占用时间和设备资源。
简单而粗暴的解决方案是:在release前,将所有的NSLog注释掉。简单有效,但副作用是:下次你要调试时,又得将NSLog一个个取消注释。
以release模式编译的程序不会用NSLog输出,而以debug模式编译的程序将执行NSLog的全部功能。
解决步骤:
- 修改<AppName>-Prefix.pch ,增加以下的宏代码
[cpp] view plaincopy
- #ifdef DEBUG
- # define DLog(fmt, ...) NSLog((@"[文件名:%s]\n" "[函数名:%s]\n" "[行号:%d] \n" fmt), __FILE__, __FUNCTION__, __LINE__, ##__VA_ARGS__);
- #else
- # define DLog(...);
- #endif
- 在程序中使用DLog来替换原来的NSLog
[cpp] view plaincopy
- DLog(@"当前程序目录是:%@", [self applicationDocumentsDirectory ]);
- 修改项目的配置,使得在debug编译的时候,编译DLog的宏,产生详细的日志信息,而release的时候,不产生任何控制台输出
在Other Linker Flags 中,在debug的时候,加入编译属性 -DEBUG
- 这样控制台会显示这样的日志信息
[cpp] view plaincopy
- 2011-12-27 22:23:53.303 IManager[5449:b603] [文件名:/Users/roamer/Project/ÂõΩÊ≥∞ÂêõÂÆâ/Ëꕉ∏öÈÉ®ÁÆ°ÁêÜiphone/IManager/IManager/AppDelegate.m]
- [函数名:-[AppDelegate application:didFinishLaunchingWithOptions:]]
- [行号:37]
- 当前程序目录是:/Users/roamer/Library/Application Support/iPhone Simulator/4.3.2/Applications/6B0E7B08-5528-468A-B728-0C4580805368/Documents
补充:
1) __VA_ARGS__ 是一个可变参数的宏,很少人知道这个宏,这个可变参数的宏是新的C99规范中新增的,目前似乎只有gcc支持(VC6.0的编译器不支持)。宏前面加上##的作用在于,当可变参数的个数为0时,这里的##起到把前面多余的","去掉的作用,否则会编译出错, 你可以试试。
2) __FILE__ 宏在预编译时会替换成当前的源文件名
3) __LINE__宏在预编译时会替换成当前的行号
4) __FUNCTION__宏在预编译时会替换成当前的函数名称
发表评论
-
Objective-C 与 C++ 的异同
2013-04-02 12:03 1352http://www.cnblogs.com/y041039 ... -
Cocos2D-X是全球知名的开源跨平台手机游戏引擎
2013-01-22 10:05 2704http://www.oschina.net/p/cocos ... -
iOS Keyboard 键盘高度变化 自适应
2013-01-15 15:43 3214[[NSNotificationCenter default ... -
iOS使用自定义字体
2012-11-27 12:11 12071From: http://blog.csdn.net/csy1 ... -
4 款类似 Facebook/Path 切换效果的 iOS 组件
2012-11-27 12:03 2079From: http://blog.csdn.net/lia ... -
Path 2.0的UI界面设计详细介绍
2012-11-27 11:56 1422如Path的创始人Dave Morin ... -
史上最全的App Store邮箱列表
2012-11-27 11:51 1212From: http://roybaby.blog.51cto ... -
iOS从info.plist 获取项目的名称及版本号
2012-11-16 10:54 1564From: http://blog.sina.com.cn/s ... -
MapKit annotation drag and drop with callout info update
2012-10-13 10:38 2359http://hollowout.blogspot ... -
NSArray 或NSDictionary 调用writeToFile方法失败原因
2012-08-31 10:03 4418NSArray 或NSDictionary 调用writeTo ... -
如何让IOS应用从容地崩溃
2012-08-30 15:25 1568From: http://www.cocoachina.com ... -
iOS中判断设备系统版本
2012-08-29 17:17 31665在iOS开发中,经常要考虑系统的向下兼容,如果使用 ... -
iOS 汉字转拼音
2012-08-21 16:42 1418From: http://www.cnblogs.com/v2 ... -
iOS模拟器截图工具
2012-08-17 16:35 1577From: http://magicalboy.com/ios ... -
XCode下的iOS单元测试
2012-08-10 17:47 1116From: http://mobile.51cto.com/ ... -
AFNetworking
2012-08-08 10:54 4615AFNetworking on github: https:/ ... -
Wrapping Conventions
2012-08-01 15:54 775Wrapping Conventions ... -
Core Animation如何使显式动画结束时的值直接作用Layer
2012-08-01 14:51 3745(1)使用隐式动画会直接改变layer的属性值,如: ima ... -
How To Debug Memory Leaks with XCode and Instruments Tutoria
2012-07-31 16:30 1015From: http://www.raywenderlich. ... -
Using Properties in Objective-C Tutorial
2012-07-31 16:27 877From: http://www.raywenderlich. ...
相关推荐
Teleport-NSLog, iOS远程日志记录将NSLog消息发送到后端服务器 传送 nslog 当你的应用程序在用户的设备中运行时,传送... 在Xcode中调试时,我们使用NSLog将许多有用的消息打印到控制台。 当应用程序在用户设备中运行
文章地址:https://blog.csdn.net/z929118967/article/details/125207599... 1. DEBUG 宏区分调试模式和发布模式进行特殊处理 2. Objective-C's boxing capability (`装箱`快速构造数字对象) 3. benchmarking的时间测量
IOS上线项目NSLog处理
iphone 开发学习项目创建及调试输出NSLog,初学者
iOS手机端log打印显示工具源码,在不连接xcode时,你仍然可以清晰的看到app内系统日志以及NSLog打印的日志,开发调试必不可少,大大提高调试效率,不用时时都链接xcode。 快速方便集成,两行代码即可搞定。 这里提供...
前言 对于那些做后端开发的工程师来说,看LOG解Bug应该是理所当然的事,但我接触到的移动应用开发的工程师里面,很多...在iOS开发中,我们经常会用到NSLog调试,但是我们却不太了解它。在NSLog本质是一个C函数,它的函
nslog输出格式 iphone开发 非常好用的nslog,提供各种格式的输出。
iphone 开发学习基础NSLog,初学者使用。
在iOS开发中,debug时经常要用到NSLog输出内容,debug完成后又需要去掉,比较麻烦,内容也不够详细。参考网上资源,扩展NSLog并利用宏替换实现按class打开或关闭的详细的NSLog输出,可以方便使用。
NSLog(@"选中"); }]; // 需要实现JDTableManagerDelegate 代理在cell里面 self.tabDataSource = [self.aTableView JDTab_DataSourceWithTabType:NumberOfRowsInSectionCount withVC:self isSection:true ...
一个iOS调试工具,监控所有HTTP请求,自动捕获Crash分析。 1.当出现功能异常时,有很大可能是与...3.打印系统日志,NSLog输出的log可以在DebugTool中及时查看,解决了只能连接电脑调式才能看到log,大大的方便咯。
本文给大家介绍的是iOS开发中关于nslog的输出时机的相关内容,非常简单实用,有需要的小伙伴可以参考下
在开发IOS程序过程中,经常需要用到NSLog输出一些信息,甚至有的开发过程,必须在控制台查看输出,有经验的程序员通过控制台输出就能知道整个数据交互的一个流程。但是一个发布的程序,里面带有太多的NSLog输出,...
简单的 UIAlert 封装 如果 (iOS )使用 UIAlertView 如果 (iOS >= 8) UIAlertViewController. 使用方法和示例 UIAlertCategory * a = [[UIAlertCategory alloc] initWithTitle:@"警告" WithMessage:@"你有条...
大多数封装是大神封装的我又只是做了简易封装 再用以前还要导入支付宝相关的SDK 效果图片展示!!! 1. 将本工程中的IntegratedAlipay文件夹导入工程中,记得选copy; * 2. 点击项目名称,点击“Build Settings...
NSLog时常用的打印格式,记不住的保留看看
在需要打来调试的文件内 #import "ZJLogTextView.h" (void) addDebugView 添加调试框 (void) showDebugView 显示调试框 (void) dismissDebugView 隐藏调试框 注意事项:重定向之后,如果连接Xcode 或者模拟器调试...
使用方法:case 0: [LTAlertView showTitle:@"LTAlert" message:@"我是普通alert" ButtonTitles:@[@"确认",@"取消"] OnTapBlock:^(LTAlertView* alert,NSInteger num) { NSLog(@"点击了第%d个按钮",num); }]; ...