我的 NSLog 输出在哪里?
我刚刚开始学习iOS开发。我在代码中使用了一些 NSLog 语句,但它们似乎没有输出到任何地方。我的应用程序正在使用调试配置,并且我正在 Xcode 中的 iPhone 模拟器中运行我的应用程序。我已经检查了 Xcode 控制台(在“运行”菜单下)和 Mac 上的 Console.app,但什么也没有。
可能是什么问题?
I've just started out learning iOS development. I'm using some NSLog
statements in my code but they don't appear to be output anywhere. My application is using the debug configuration and I'm running my application in the iPhone simulator from within Xcode. I've checked both the Xcode console (under the Run menu) and also Console.app on my Mac, but there's nothing.
What could be the problem?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
确保您已激活
控制台
。为此,您可以:Make sure you have your
Console
activated. To do that, you can:模拟器上的
NSLog()
输出确实显示在 Console Mac OS X 应用程序中。转到
所有消息
,然后根据您的应用名称进行过滤以消除多余信息,然后再次运行。如果在程序执行期间 NSLog 代码实际上被命中,您将在输出中看到它。NSLog()
output on the simulator does indeed show up in the Console Mac OS X application.Go to
All Messages
and then filter based on your app name to get rid of the fluff, and run again. You'll see it in your output if the NSLog code is actually being hit during the execution of your program.像这样使用
NSLog()
:或者像这样 - 带占位符:
在
NSLog()
中,您可以像+ (id)stringWithFormat:(NSString *) 一样使用它format, ...
您也可以添加其他占位符:
Use
NSLog()
like this:Or like this - with placeholders:
In
NSLog()
you can use it like+ (id)stringWithFormat:(NSString *)format, ...
You can add other placeholders, too:
从评论中移出
您确定执行带有
NSLog
的行吗?尝试在 main.m 中的自动释放池分配之后立即插入NSLog
Moved from comment
Are you sure that line with
NSLog
is executed? Try to insertNSLog
right after autorelease pool allocation in main.m真的很奇怪。只是为了实验:尝试将 NSLog 输出重定向到某个文件,如下所示:
如果有输出,则您的
stderr
出现问题。Really weird. Just for the sake of experiment: try to redirect the NSLog output to some file like this:
If there is an output, then there is something wrong with your
stderr
.