0

这是关于 MacOS 问题的 iPhone 开发,我正在使用“waxsim”在模拟器上启动我的 iphone 应用程序。像这样:

/usr/local/bin/waxsim /Users/me/Desktop/app/build/Release-iphonesimulator/app.app

在我的应用程序中,我使用了 printf(),并且我看到了控制台中打印的 printf 消息。

但我无法将它们放入文件或使用 grep 过滤!我尝试了所有通常有效的方法:

cmd | grep "x"

打印所有消息,但不通过 grep

cmd > myfile

所有消息仍然进入控制台,文件没有

cmd &> myfile

此命令不会向控制台打印任何内容!但 myfile 仅包含以下内容:

Launching '/Users/me/Desktop/app/build/Release-iphonesimulator/app.app' on'Simulator - iOS 6.0'

但不是用 printf 打印的实际消息

cmd 2>&1 > myfile

有了这个,一切都进入控制台,文件没有。

我认为waxsim对管道有一些技巧吗?

4

1 回答 1

1

cmd &> myfile应该工作(或等效地,cmd > myfile 2>&1顺序很重要)。

不过,问题可能是您的消息被缓冲了。当 stdout 不是终端时,这是标准行为。如果您在查看文件之前完全关闭模拟器,那里有消息吗?

如果是这样,请尝试script -q /dev/null yourcommand(不确定 . 的 OS X 语法script。在 Linux 上会是script -c "your command" /dev/null)。

于 2013-01-29T07:10:40.753 回答