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