gpt4 book ai didi

ios - 是否可以隐藏或替换已编译的第三方库的 NSLog() 函数,该库不断向我的日志中喷射调试?

转载 作者:可可西里 更新时间:2023-11-01 03:33:11 24 4
gpt4 key购买 nike

GoogleConversionPlugin 坚持随机记录一些无用的信息,搞砸了我的自动测试报告。

最佳答案

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

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

仅控制静态库的 NSLog() 调用是不可能的,除非您愿意“修补”这个库(当然,您可以这样做而不会被 Google 起诉) ).动态库是可以的,但是当你为 iOS 开发时,你不能使用动态库。

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

关于ios - 是否可以隐藏或替换已编译的第三方库的 NSLog() 函数,该库不断向我的日志中喷射调试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14563694/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com