蘋果今天已經開始通知開發人員,他們將很快開始拒絕使用“HotPatch(熱更新)”繞過App
Store更新審查的應用程序。在蘋果開發者論壇上,一位開發人員透露,他們的公司已經接到消息,稱在刪除這些“HotPatch”代碼之前,蘋果將不接受其應用更新。

JS等形式代碼將被禁止
從目前各方面反饋來看,蘋果此次狠抓的是下發代碼,所以JSPatch就被拉出來吃槍子了。2016年WWDC后App Store Review Guide
Line更新 2.5.2 條這樣描述:
2.5.2 Apps should be self-contained in their bundles, and may not read or
write data outside the designated container area, nor may they download,
install, or execute code, including other iOS, watchOS, macOS, or tvOS apps.

JSPatch更新
本條規定所有執行代碼都需要包含在App中,不能下載代碼到本地執行,所以OC或者JS形式的代碼明顯違反了這條規定,但蘋果顯然沒有在過去一年中對這條規定進行貫徹,直到今天才向相關開發者發出了警告。
對游戲本身有何影響?
這個問題其實有目共睹,在禁止熱更新之后
1、游戲無法頻繁更新功能、修復BUG,廠商在更新版本之前,可得長點心吧!
2、游戲更新后用戶需要重新下載完整游戲,帶來了用戶流失和活躍度下降,特別是大包體游戲更為嚴重,用戶要是動不動就下載個1G多的游戲,對游戲體驗的傷害太大。
3、游戲更新后整體需重新經過蘋果再次審查,造成審核周期增加。
另外也提醒正在提交游戲審查或被拒的開發者,盡快刪除相關代碼再進行審查提交。

JSPatch漏洞
是否有規避方法?
根據目前圈哥得到的信息來看,蘋果進行審查的方式主要有兩種。
一種是檢查特定的類名,如JSPatch和Rollout,蘋果會審查APP是否攜帶了這一類的庫。
另一種是掃描特定的API,有規則將會檢查這些 API 的參數是否可能由外部引入。
相信讀者中的程序員大大應該比圈哥高出好幾層樓,通過混淆JSPtach(替換JSPtach內部所有類和方法名),或許是可以繞過審查蒙混過關。雖然蘋果尚未明確懲罰方式,但在繼續HotPatch和開發者賬號被封之間,還是提高點App穩定和Debug上多下功夫,Weex似乎也還有機會。
結語
蘋果開發者在去年就發現了由于JSPatch所引起的更新漏洞將被黑客利用,從而引起一系列損失,蘋果對App
Store的優化也從未停止,無論開發者對于此次HotPatch的禁令是否存在各種怨言,按照蘋果的以往原則來看:你們盡管罵,最后還不得管我叫爸爸!
