iOS14适配一查找哪些SDK使用剪切板
背景
iOS14公测版发出之后,我们app出现了从后台唤起会弹出 读取剪切板的 提示,安全要求要赶紧查,全局搜索了我们APP,发现并没有读取剪切板的代码,比窦娥还冤,只能是第三方SDK的问题了,但是项目里集成了十几个第三方SDK,一个个排查删除,万一两个SDK都有,这个排列组合可能性就太多了。
脑壳疼了好几天,求助万能的V友和群友,然后找到了好的办法
- 步骤1: 用Xcode的Symbolic breakpoint,调试[UIPasteboard generalPasteboard],按照重现步骤,例如,我们APP是从后台唤起来会有这个提示,就打断点,然后走这个流程。
- 步骤2: 断点会停在调用到这个方法的地方,然后上下查看,如果还不能确认是哪个SDK的话,就单步向下走几步,然后就会出现调用方
- 步骤3:具体调用的类已经暴露了之后,怎么确定这是哪个SDK的呢?
在工程目录中使用命令(来自群友的帮助):1
2find . -type f | grep -e ".framework" | xargs grep -s UIPasteboard
find . -type f | grep -e ".a" | xargs grep -s AUPasteboard
然后会出现
可以看到这个类是支付宝支付的SDK,然后删除SDK后,先看复现步骤好了没,如果没有好,再重复这个流程,确认还有没有别的SDK也有这么调用的就可以了。