objective-c – 从静态lib(.a)内部删除方法调用,无需重新编译
发布时间:2020-12-14 20:04:28 所属栏目:百科 来源:网络整理
导读:我正在使用一个静态的lib,当我上传我的二进制文件供苹果审查时给我一个警告. 导致警告(非公开选择器)的静态库中的方法从未被我调用,其相应的.h从我的proj中删除,但警告仍然存在. 鉴于我知道导致问题的方法名称,是否有一种方法可以打开/编辑这个.a并注释/删除
我正在使用一个静态的lib,当我上传我的二进制文件供苹果审查时给我一个警告.
导致警告(非公开选择器)的静态库中的方法从未被我调用,其相应的.h从我的proj中删除,但警告仍然存在. 鉴于我知道导致问题的方法名称,是否有一种方法可以打开/编辑这个.a并注释/删除违规代码,然后在我的项目中使用修改的.a. 我无法访问.a源来重新编译它,而且它的老版本和它的创建者没有联系细节来跟踪. 非常感谢, 解决方法
快速和脏的解决方案:在十六进制编辑器中打开.a文件,并更改名称的所有实例.将函数名称保持为相同的长度,以使文件中的偏移量不变,只需更改一个字母或类似的东西.我做了一个快速测试,添加一个虚拟函数到我们正在构建的一个子项目作为静态库,然后调整.a文件中的函数名称(有五个实例,为什么值得)和一切内置好的.之后,我看不出有什么理由不通过App Store检查.
我真的很惊讶,功能还在最后的版本,尽管 – 我认为死亡代码剥离应该清理任何未使用的代码.呵呵. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |