国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > iOS > 正文

iOS查找私有API的方法示例

2020-07-26 02:18:54
字體:
供稿:網(wǎng)友

喜接新項(xiàng)目往往預(yù)示的會出一堆問題。解決問題的同時(shí)往往也就是學(xué)到更多東西的時(shí)候,這也許就是學(xué)習(xí)到新東西最直接最快速的方法吧!

小編經(jīng)過努力,新項(xiàng)目終于過測試了,可是被蘋果大大給拒了,好苦啊,最近的審核真的是沒有誰了。這回被拒是因?yàn)轫?xiàng)目中存在私有api,下圖為被拒信息。

這就坑了啊,這么大一個(gè)項(xiàng)目,我如何定位呢?

如果是代碼里面運(yùn)用到私有api,那就簡單了,直接 command+Shift+F ,就可以定位了! prefs:root= 就是原來代碼里面的,小編找到后果斷刪除了!

最麻煩的就是在第三方SDK中的私有api( com.apple.springboard.lockcomplete ),實(shí)在不知道如何定位了。在被拒消息中也提示了我們?nèi)绾味ㄎ唬俣?Google走一波,學(xué)習(xí)了一下,隨便寫個(gè)筆記。好記性不如爛筆頭嘛!

方法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)行后會在桌面上出現(xiàn)一個(gè) strings.txt 文件,文件的路徑和名字隨個(gè)人開發(fā)習(xí)慣

兩種命令獲取方式都沒有定位到具體位置,只是告訴我們存在這個(gè)私有api

方法2:otool工具(xcode自帶,可以直接在終端中使用)

前兩步同方法1

terminal中 cd 到 Payload 里面的 app

然后使用如下命令

otool -L appName

這個(gè)命令會列出你所有使用的系統(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的話,那就只能舍棄了,否則基本無解。

小編比較幸運(yùn),直接更換最新的 AmazonFling.framework 后,就消除了私有api( com.apple.springboard.lockcomplete )。在發(fā)版前,使用這兩個(gè)方法都進(jìn)行了驗(yàn)證,私有api不存在了!:smile:

參考資料:

https://www.jianshu.com/p/921a8b2315ce

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 漾濞| 海南省| 香河县| 根河市| 五台县| 泸州市| 盐城市| 五峰| 榆社县| 新田县| 玉林市| 双江| 辰溪县| 昔阳县| 洛浦县| 台湾省| 义马市| 杭锦后旗| 佛冈县| 湖口县| 琼中| 新郑市| 拉萨市| 宜州市| 曲麻莱县| 长海县| 客服| 仙游县| 建瓯市| 故城县| 东乡族自治县| 简阳市| 乐山市| 福建省| 东丽区| 正镶白旗| 城市| 新绛县| 明溪县| 琼海市| 岐山县|