GoogleConversionPlugin 坚持记录无用信息的随机位并搞砸我的自动化测试报告。
2 回答
您可以将所有NSLog()
输出重定向到无处(或控制台日志以外的文件)或使其调用您自己的日志输出函数(不是正式的,但它有效),但这将作用于所有NSLog()
调用,而不仅仅是来自此 Google 的调用插件,也来自您的代码中的调用。如果您的应用程序是单线程的,您可以使用自己的日志记录函数来检查全局BOOL
日志记录当前是启用还是禁用;但是在多线程环境中,您必须控制每个线程(如果您使用 GCD,即使您自己不处理线程,您也是多线程的),这也是可能的,尽管需要更多额外的代码.
所以问题是,对于您来说,全局禁用日志记录(或当前线程),进行插件调用然后重新打开它是否是一个有用的解决方案?当然,如果插件内部是多线程的,禁用每个线程将不起作用(它可能会在您不注意的情况下切换线程),但在这种情况下,全局切换仍然可以工作。
NSLog()
除非您愿意“修补”该库(当然,您可以在不让 Google 起诉您的情况下这样做),否则仅控制静态库的调用是不可能的。动态库是可能的,但是当你为 iOS 开发时,你不能使用动态库。
所以让我知道这些可能的解决方案中哪一个适合您的需求(如果有的话),我会看看我能为您做些什么(例如更新答案并添加一些代码或说明)。
首先“您应该与这些库/框架的开发人员联系并提交错误”。
在发布版本中,调试、错误或任何 NSLog 等不得存在,除非它非常关键。