蘋果熱修復(fù)問(wèn)題被拒

版本被蘋果拒絕郵件內(nèi)容如下:

發(fā)件人 Apple

2. 5 Performance: Software Requirements

Guideline 2.5.2 - Performance - Software Requirements

Your app, extension, or linked framework appears to contain code designed explicitly with the capability to change your app’s behavior or functionality after App Review approval, which is not in compliance with App Store Review Guideline 2.5.2 and section 3.3.2 of the Apple Developer Program License Agreement.

This code, combined with a remote resource, can facilitate significant changes to your app’s behavior compared to when it was initially reviewed for the App Store. While you may not be using this functionality currently, it has the potential to load private frameworks, private methods, and enable future feature changes. This includes any code which passes arbitrary parameters to dynamic methods such as dlopen(), dlsym(), respondsToSelector:, performSelector:, method_exchangeImplementations(), and running remote scripts in order to change app behavior and/or call SPI, based on the contents of the downloaded script. Even if the remote resource is not intentionally malicious, it could easily be hijacked via a Man In The Middle (MiTM) attack, which can pose a serious security vulnerability to users of your app.

The next submission of this app may require a longer review time.

Next Steps

- Review the Software Requirements section of the App Store Review Guidelines.

- Ensure your app is compliant with all sections of the App Store Review Guidelines and the Terms & Conditions of the Apple Developer Program.

- Once your app is fully compliant, resubmit your app for review.

Submitting apps designed to mislead or harm customers or evade the review process may result in the termination of your Apple Developer Program account. Review the Terms & Conditions of the Apple Developer Program to learn more about our policies regarding termination.

If you believe your app is compliant with the App Store Review Guidelines, you may submit an appeal. Alternatively, you may provide additional details about your app by replying directly to this message.

解決方案:

首先根據(jù)郵件內(nèi)容定位到了項(xiàng)目中包含熱修復(fù)的代碼,然后將熱修復(fù)相關(guān)模塊刪除。除此之外,檢查了項(xiàng)目中用到的所有三方庫(kù)中是否包含dlopen(), dlsym(), respondsToSelector:, performSelector:, method_exchangeImplementations()等方法。檢查采用終端命令的方式進(jìn)行,以微信為例終端下執(zhí)行nm -u libWeChatSDK.a >> wechat.txt 。 wechat.txt這個(gè)文檔中包含了微信SDK中用到的所有方法,全局搜索可以看到有沒(méi)有用到蘋果被拒郵件中的一些方法等。用此種方式可以看出百度統(tǒng)計(jì)、個(gè)推、高德地圖等用到了熱更新的方法等,需要將這些包進(jìn)行刪除或者更新到最新包。其他三方庫(kù)可用同樣的方式進(jìn)行查詢,涉及到熱更新方法的三方庫(kù)需要更新到最新庫(kù),或者刪除此庫(kù)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容