我使用的是静态库,当我上传我的二进制文件供 apple 审查时,它会给我一个警告。
导致警告的静态库中的方法(非公共(public)选择器)从未被我调用,其对应的.h已从我的项目中删除,但警告仍然存在。
鉴于我知道导致问题的方法名称,有没有办法让我打开/编辑此 .a 并注释/删除有问题的代码段,然后在我的项目中使用修改后的 .a。
我无法访问 .a 源来重新编译它,而且它非常古老,而且它的创建者没有我可以追踪的联系方式。
非常感谢, -蛋糕
最佳答案
快速而肮脏的解决方案:在十六进制编辑器中打开 .a 文件并更改名称的所有实例。保留函数名相同的长度,这样文件中的偏移量就不会改变,只需改变一个字母或类似的东西。我做了一个快速测试,将一个虚拟函数添加到我们作为静态库构建的子项目中,然后调整 .a 文件中的函数名称(有五个实例,这是值得的)并且一切正常。之后我看不出有任何理由无法通过 App Store 检查。
我真的很惊讶该功能仍然存在于最终版本中,不过我认为死代码剥离应该清除所有未使用的代码。呵呵。
关于objective-c - 在不重新编译的情况下从静态 lib(.a) 中删除方法调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9554168/