今是昨非

今是昨非

日出江花红胜火,春来江水绿如蓝

iOS14适配一查找哪些SDK使用剪切板

iOS14 适配一查找哪些 SDK 使用剪切板#

背景#

iOS14 公测版发出之后,我们 app 出现了从后台唤起会弹出 读取剪切板的 提示,安全要求要赶紧查,全局搜索了我们 APP,发现并没有读取剪切板的代码,比窦娥还冤,只能是第三方 SDK 的问题了,但是项目里集成了十几个第三方 SDK,一个个排查删除,万一两个 SDK 都有,这个排列组合可能性就太多了。

脑壳疼了好几天,求助万能的 V 友和群友,然后找到了好的办法

  • 步骤 1: 用 Xcode 的 Symbolic breakpoint,调试 [UIPasteboard generalPasteboard],按照重现步骤,例如,我们 APP 是从后台唤起来会有这个提示,就打断点,然后走这个流程。

Screen Shot 2020-07-12 at 11.30.17 AM.png

Screen Shot 2020-07-12 at 11.30.42 AM.png

  • 步骤 2: 断点会停在调用到这个方法的地方,然后上下查看,如果还不能确认是哪个 SDK 的话,就单步向下走几步,然后就会出现调用方

0317730D3162C939A663AE043F366D05.png

Screen Shot 2020-07-12 at 10.49.52 AM.png

  • 步骤 3: 具体调用的类已经暴露了之后,怎么确定这是哪个 SDK 的呢?
    在工程目录中使用命令(来自群友的帮助):
find . -type f | grep -e ".framework" | xargs grep -s UIPasteboard
find . -type f | grep -e ".a" | xargs grep -s AUPasteboard

然后会出现
WeChatcd3553691c3162a7f264d943c75906c6.png

可以看到这个类是支付宝支付的 SDK,然后删除 SDK 后,先看复现步骤好了没,如果没有好,再重复这个流程,确认还有没有别的 SDK 也有这么调用的就可以了。

参考#

请教一下大家,关于 iOS14 读取剪切板的问题

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。