如何在 Xcode 中构建期间向控制台输出警告?

发布于 2024-12-06 10:28:21 字数 223 浏览 2 评论 0原文

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

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

有什么建议吗?

编辑:

我不想使用 NSLog 因为我已经使用它来记录一堆东西,所以当我使用 NSLog 进行警告时,很难看到所有警告。

How do I output custom warnings to the console in Xcode? I want to do this to remind myself that I'm in a particular build mode.

I tried #warning "Hello World" but I don't see it in the console.

Any suggestions?

Edit:

I don't want to use NSLog because I am already using it to log a bunch of stuff so when I use NSLog for warnings, it is difficult to see all the warnings.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

眼前雾蒙蒙 2024-12-13 10:28:22

#warning 指令

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

Apple 系统日志工具

您想要的是在应用程序运行时向控制台显示警告,而这里就是 Apple 系统日志工具 发挥作用的地方。

您有 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 在我的所有项目中,这样当我将我的应用程序发送到应用程序商店时,我的调试错误不会显示,但其他关键错误错误 将要。

更新:现在使用 Swift,我使用这个调试日志框架 https://github.com/DaveWoodCom/XCGLogger

#warning directive

The #warning directive is to see the message on the compiler. This is very handy to know that something must be changed before deploying or simply to remember to change a piece of code that can be improved (but you don't have the time to do so now). (go to View -> Navigators -> Show Issue Navigator on your project and you will the see the list of warnings). These messages will not appear on the console.

The Apple System Log facility

What you want is to show a warning to the console while the app is running and here is where The Apple System Log facility comes to the rescue.

You have 8 logging levels:

  • 0 Emergency.
  • 1 Alert
  • 2 Critical
  • 3 Error
  • 4 Warning
  • 5 Notice
  • 6 Info
  • 7 Debug

Code sample:

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

Since I was in the same situation than you once, and to make things simple, I use this wrapper https://github.com/MikeWeller/MWLogging in all my projects so my debug errors won't show when I send my App to the App Store but other critical error will.

Update: Now with Swift I use this debug log framework https://github.com/DaveWoodCom/XCGLogger

痞味浪人 2024-12-13 10:28:22

您可以使用 NSLog

在警告状态下使用类似以下内容:

NSLog(@"Hello World");

或者您可以使用标准 C printf 函数:

printf("Hello World");

如果您想在 stderr 上打印,您可以使用重定向到 stderr 的 fprintf。

You can use NSLog

In state of your warning use something like:

NSLog(@"Hello World");

Or you can use the standard C printf function:

printf("Hello World");

If you want to be printed on stderr you can use fprintf redirected to stderr.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文