MonoTouch - XCode组织者中更好的控制台输出

时间:2012-02-20 16:49:17

标签: c# ios xcode xamarin.ios touch.unit

我们一直在玩新的MonoTouch NUnit测试项目,非常好。

我们已经在CI软件中运行了几个这样的测试,我们在控制台上打印了很多东西,看看测试过程中出了什么问题。

如果我们为MonoTouch构建并运行这些测试,并在XCode的组织器中查看控制台,它们看起来很丑陋:

Feb 20 10:34:57 unknown UIKitApplication:com.ourcompany.ourapp[0xab78][8329] <Notice>: [Our usually pretty rainbows and unicorn console output here]

有没有办法在iOS中清除此输出?至少用更有意义的东西替换“未知”,或者完全删除它和UIKitApplication会很好。

此外,我们不介意以某种方式致电NSLog而不是Console.WriteLine,如果它能解决此问题。

2 个答案:

答案 0 :(得分:2)

我认为最简单的方法是:不需要更改现有测试,是:

  • 使用可选 network logger。这会将每个测试结果发送到套接字服务器,将它们与来自iOS设备的其他日志分开;以及

  • Console.SetOut作为参数调用TouchRunner.Writer(在AppDelegate.cs中)。这应该(现在未经测试;-)将您对控制台的每个现有写入记录到网络记录器中。

答案 1 :(得分:1)

据我所知,没有办法修改写入Xcode控制台的内容,因为每行开头的内容都是由系统自动编写的。

你可以使用mtouch,grep和sed在终端中做一些魔术:

/Developer/MonoTouch/usr/bin/mtouch --logdev | grep com.yourcompany.yourapp | sed 's/.*<.*>: //'