今天早上上班踢械,習(xí)慣性的先點(diǎn)開郵箱沃暗,發(fā)現(xiàn)蘋果警告郵件一封隆豹。
Paste_Image.png
what先煎?什么鬼贼涩?
在蘋果開發(fā)者條款下找到3.3.2:
3.3.2 Except as set forth in the next paragraph, and Application may not download or install executable code. Interpreted code may only be used in an Application if all scripts, code and interpreters are packaged in the Application and not downloaded.
按照規(guī)定:
在應(yīng)用/游戲里面使用Lua或JavaScript腳本是OK的,這個(gè)沒問題薯蝎。
但使用腳本進(jìn)行熱更新遥倦,這是違反蘋果開發(fā)者條款的。
趕緊看看怎么回事占锯,原來是項(xiàng)目里集成開源框架JSPatch的問題袒哥。發(fā)現(xiàn)各大app均已翻車。
以下是公告:
iOS整體上從現(xiàn)在開始會(huì)強(qiáng)烈建議使用native code消略,對(duì)于hotfix更新形式會(huì)嚴(yán)格審查
針對(duì)hotfix模塊的審核從代碼層面進(jìn)行堡称,特定框架和方法再被使用審核時(shí)會(huì)被拒
對(duì)于此次審核要求升級(jí),總體上會(huì)給所有開發(fā)者一定時(shí)間緩沖期進(jìn)行修改和調(diào)整艺演。但是如果長(zhǎng)期不進(jìn)行修改却紧,那么已經(jīng)上架的版本會(huì)被處理桐臊。
當(dāng)前標(biāo)準(zhǔn)主要針對(duì)核心功能核心模塊。對(duì)于內(nèi)容運(yùn)營(yíng)向的動(dòng)態(tài)模塊晓殊,如HTML頁(yè)面等断凶,只要提交審核時(shí)有該模塊,過審后通過服務(wù)器動(dòng)態(tài)調(diào)整內(nèi)容展示是沒問題的巫俺。
主要考慮:避免涉及方法被開發(fā)者利用來屏蔽某些功能臨時(shí)過審认烁。
目前已知涉及方法包括:dlopen(), dlsym(), respondsToSelector:, performSelector:, method_exchangeImplementations(),
雖然當(dāng)前所列方法主要針對(duì)JSPatch,市面上仍有其他動(dòng)態(tài)更新框架介汹。但從Apple反饋的核心思想來看却嗡,強(qiáng)制主要使用native代碼是大趨勢(shì)。建議各團(tuán)隊(duì)盡早準(zhǔn)備嘹承,避免臨時(shí)警告時(shí)來不及應(yīng)對(duì)窗价。
Paste_Image.png
下午看到這篇新聞:
Paste_Image.png