2011-09-22 67 views
1

如何在Xcode中向控制台输出自定义警告?我想这样做是为了提醒自己我处于特定的构建模式。如何在构建Xcode期间向控制台输出警告?

我试过#warning "Hello World"但我没有在控制台中看到它。

有什么建议吗?

编辑:

我不想因为我已经在使用它登录了一堆东西使用NSLog所以当我使用的NSLog的警告,也很难看到所有的警告。

+0

需要明确的是,正在为构建窗口中的消息 - 如果这样“#warning后......”的作品? – petert

+0

我在构建控制台中看不到使用'#warning'的警告消息。 – David

回答

0

可以使用的NSLog

在你的警告使用这样的状态:

NSLog(@"Hello World"); 

或者你可以使用标准的C printf函数:如果你想成为

printf("Hello World"); 

打印在stderr上,你可以使用fprintf重定向到stderr。

+0

我不想使用'NSLog',因为我已经在使用它来记录一堆东西,所以当我使用NSLog发出警告时,很难看到所有的警告。 – David

+0

然后你可以使用标准的C printf功能。不要忘记目标c是建立在C的顶部。 – alinoz

4

#warning指令

#warning指令是看编译器的消息。在部署之前必须更改某些内容或者只是记住更改一段可以改进的代码(但现在没有时间这样做),这非常方便。 (转到查看 - >导航器 - >在您的项目上显示问题导航器,你会看到警告列表)。这些消息不会出现在控制台上。

苹果系统日志设施

你想要的是显示警告的应用程序运行时,控制台和这里是哪里苹果系统日志设施就派上用场了。

你有8个日志记录级别:

  • 0急救。
  • 1警报
  • 2临界
  • 3错误
  • 4警告
  • 5通知
  • 6信息
  • 7调试

代码示例:

#include <asl.h> 
... 
asl_log(NULL, NULL, ASL_LEVEL_INFO, "Hello World!"); 

由于我和你曾经有过相同的情况,为了简单起见,我在我的所有项目中都使用了这个包装https://github.com/MikeWeller/MWLogging,所以当我将我的应用程序发送到App Store时,我的调试错误不会显示,但其他严重错误将会。

更新:现在用斯威夫特我用这个调试日志框架https://github.com/DaveWoodCom/XCGLogger

相关问题