gpt4 book ai didi

ios - 覆盖 iOS 框架符号

转载 作者:行者123 更新时间:2023-12-01 19:54:45 25 4
gpt4 key购买 nike

我正在使用的第三方二进制库之一不幸的是 NSLog我想在运行时避免的声明(它会泄露个人信息)。框架开发人员不愿意更改这一行,我没有其他选择(二进制补丁不是一个选项,也不是切换提供程序)。

是否可以定义我自己的NSLog我可以用来过滤掉不需要的日志记录并将其他日志记录调用委托(delegate)给原始 NSLog 的符号?苹果会拒绝覆盖核心框架符号的应用程序吗?

最佳答案

是的。您可以将此代码放在任何 .m 文件中,但我推荐 AppDelegate。

// Objective-C code
void NSLog(NSString *format, ...) {

//You'll probably want some logic here to determine the issuer of NSLog
//and silence it(aka return) if necessary

va_list args;
va_start(args, format);
NSLogv(format, args);
va_end(args);
}

仅当框架不是 dylib 时,覆盖 NSLog 才会起作用。作为最后的手段,您可以通过重定向 stderr stackoverflow.com/a/12611692/5329717 完全使 NSLog 静音。

关于ios - 覆盖 iOS 框架符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43375256/

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