我遇到一个奇怪的问题,可能是一个bug。我的NSLog语句完全停止工作了,即使在view did load、application didfinishlaunching等方法中也无法打印。它们全部变成了棕色(与xcode中的pragma mark相同的颜色),并且都有一个警告:'expression result unused'。有人以前见过这种情况吗?我应该怎么办?我正在使用xcode 4.0.2。
非常感谢!
Jules
为了完整起见,我遇到了同样的问题,答案是不同的,希望能帮助其他遇到这个帖子的人:
我有一个框架(亚马逊的一个),重新定义了NSLog,在那里(Cmd+点击棕色的NSLog)并注释掉了重新定义...
我曾经遇到同样的问题:
以下是解决方法:
删除派生数据后执行“清理”操作(您可以在产品菜单中看到此选项)
退出Xcode并重新启动。
这个方法很有效,我的所有NSLog都能正常工作。
希望对你有所帮助。
确保所选方案对应于调试模式,因为有时pch文件可能具有某些定义,仅在调试模式下进行日志记录 (方案位于选择iPhone模拟器/ iOS设备的位置左侧)
在视图中选择调试区域 (Xcode右上角有3个视图按钮,请按中间按钮)
选择“显示变量视图和控制台” (在调试区域(底部)有3个按钮,请按中间按钮)
尝试将控制台底部的下拉菜单更改为“所有输出”。
我曾经遇到过同样的问题,问题在于我正在构建一个Ad Hoc版本(模式是为Ad Hoc构建的)。当我构建调试版本时,警告消失了。
如果您正在使用像'KScan'、'iKEA'或'kdc-scan'这样的库,那么它们可能会调用像'redirectNSLogToDocuments'这样的方法。
在我的情况下,'iKEA'的对象调用了方法'CheckIfDeviceConnected',这个方法将所有nslog输出重定向到文档中。注释掉后,所有的nslogs都可以正常工作:)
希望这对某些人有用。
fprintf
,除非它被重新定义或使用freopen
重定向,否则没有理由停止工作。expression result unused
部分的意思就是它所说的,常见原因是使用类似于*var++
而不是(*var)++
的东西。 - Jano