本篇文章給大家分享的是有關(guān)iOS中如何查找私有API,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
創(chuàng)新互聯(lián)專注于婺城企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城網(wǎng)站建設(shè)。婺城網(wǎng)站建設(shè)公司,為婺城等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站制作,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)方法1:strings檢測
這個(gè)方法是我在被拒信息中看到的蘋果大大建議的方法,步驟如下:
1、獲取release的ipa包,打包是選擇的方式為:App Store
2、將 .ipa 修改為 .zip,減壓,獲取到兩個(gè)文件夾Payload、Symbols
3、打開命令行,cd 到 Payload 里面的 app,然后使用 strings 命令進(jìn)行查找
strings - -a -arch armv7 "工程名" | grep com.apple.springboard.lockcomplete
還有一種命令,直接生成一個(gè) txt 文件。
strings - -a -arch armv7 "工程名" > /Users/admin/Desktop/strings.txt
運(yùn)行后會(huì)在桌面上出現(xiàn)一個(gè)strings.txt
文件,文件的路徑和名字隨個(gè)人開發(fā)習(xí)慣
兩種命令獲取方式都沒有定位到具體位置,只是告訴我們存在這個(gè)私有api
方法2:otool工具(xcode自帶,可以直接在終端中使用)
前兩步同方法1
terminal中 cd 到 Payload 里面的 app
然后使用如下命令
otool -L appName
這個(gè)命令會(huì)列出你所有使用的系統(tǒng)庫,檢查一下給出的列表中有沒有私有api的庫
如果對命令不熟悉還可以使用
otool -help
去查看命令幫助文檔
方法3:全局搜索(建議使用)
這個(gè)方法是我認(rèn)為最直接最有效的方法!
1、 cd 到你的工程目錄
2、使用全局搜索命令(注意最后要加一個(gè)點(diǎn))
grep -r lockcomplete .
這個(gè)方法直接定位到這個(gè)私有api出現(xiàn)在AmazonFling.framework
中。
到這里,解決上述第三方庫的私有API的問題,就是直接替換掉新的SDK,當(dāng)然如果新的第三方庫也有私有API的話,那就只能舍棄了,否則基本無解。
以上就是iOS中如何查找私有API,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。