这是关于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用管道做了一些技巧?
答案 0 :(得分:1)
cmd &> myfile
应该有效(或等效地,cmd > myfile 2>&1
,订单很重要)。
问题在于问题是您的邮件会被缓冲。当stdout不是终端时,这是标准行为。如果在查看文件之前完全关闭模拟器,那么消息是否存在?
如果是这样,请尝试script -q /dev/null yourcommand
(不确定script
的OS X语法。在Linux上它将是script -c "your command" /dev/null
。