今是昨非

今是昨非

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

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 讀取剪切板的問題

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。