7

GoogleConversionPlugin 坚持记录无用信息的随机位并搞砸我的自动化测试报告。

4

2 回答 2

3

您可以将所有NSLog()输出重定向到无处(或控制台日志以外的文件)或使其调用您自己的日志输出函数(不是正式的,但它有效),但这将作用于所有NSLog()调用,而不仅仅是来自此 Google 的调用插件,也来自您的代码中的调用。如果您的应用程序是单线程的,您可以使用自己的日志记录函数来检查全局BOOL日志记录当前是启用还是禁用;但是在多线程环境中,您必须控制每个线程(如果您使用 GCD,即使您自己不处理线程,您也是多线程的),这也是可能的,尽管需要更多额外的代码.

所以问题是,对于您来说,全局禁用日志记录(或当前线程),进行插件调用然后重新打开它是否是一个有用的解决方案?当然,如果插件内部是多线程的,禁用每个线程将不起作用(它可能会在您不注意的情况下切换线程),但在这种情况下,全局切换仍然可以工作。

NSLog()除非您愿意“修补”该库(当然,您可以在不让 Google 起诉您的情况下这样做),否则仅控制静态库的调用是不可能的。动态库是可能的,但是当你为 iOS 开发时,你不能使用动态库。

所以让我知道这些可能的解决方案中哪一个适合您的需求(如果有的话),我会看看我能为您做些什么(例如更新答案并添加一些代码或说明)。

于 2013-01-28T14:56:34.357 回答
0

首先“您应该与这些库/框架的开发人员联系并提交错误”。

在发布版本中,调试、错误或任何 NSLog 等不得存在,除非它非常关键。

于 2013-01-28T14:27:27.303 回答