近日,蘋果“熱更門”原委在各方的猜測(cè)、質(zhì)疑、辟謠中逐漸清晰。梳理各方發(fā)聲后認(rèn)為:長(zhǎng)遠(yuǎn)來(lái)看,熱更一定程度威脅蘋果一貫重視的安全紅線。但此次并非全面被禁,開發(fā)者需適應(yīng)蘋果接下來(lái)的新框架,逐漸跳出混編,往提高APP穩(wěn)定性上努力。
蘋果主要針對(duì)下發(fā)代碼 熱更技術(shù)并非完全被禁
≥觀察,目前為止收到蘋果警告郵件的開發(fā)者絕大部分使用了JS-Patch 或 Rollout 類庫(kù),而集中在第三方 SDK 中未采用上述框架的熱更新技術(shù)目前為止并未受到影響。另一方面,絕大部分游戲引擎由于并沒有調(diào)用這些類庫(kù),也沒有受到影響。
后續(xù)事態(tài)是否進(jìn)一步擴(kuò)大?有開發(fā)者分析,既然蘋果在 iOS 7中引入新的 JavaScriptCore 框架,必然是認(rèn)為在 APP 里執(zhí)行 JS 對(duì)于整個(gè) iOS 生態(tài)是有益的。所以目前的警告只是要解決掉引入這個(gè)框架后帶來(lái)的濫用問(wèn)題。從各方的反饋來(lái)看,蘋果這輪狠抓的是下發(fā)代碼,而不是針對(duì)用 JS 代碼編寫業(yè)務(wù)邏輯。只是在這個(gè)風(fēng)口,基于這個(gè)技術(shù)的框架剛好很容易就提供了下發(fā)代碼執(zhí)行邏輯的能力,所以各方很容易被推到燈光下。
此番警告或與微軟vs2017發(fā)布有關(guān)
前幾日,微軟發(fā)布了自帶基于React Native iOS開發(fā)功能的Visual Studio 2017。鑒于微軟這兩年來(lái)開源的力度,發(fā)布這一功能似乎是在搶占開發(fā)者的市場(chǎng)。對(duì)開發(fā)者而已,基于vs2017在非蘋果上開發(fā)ios應(yīng)用更容易了。所以,蘋果在這個(gè)節(jié)骨眼發(fā)出這個(gè)警告郵件,或有威脅現(xiàn)有開發(fā)者暗地里想跟微軟互懟的意味。
—發(fā)者急救指南——忘了熱更新 適應(yīng)新框架
≥了解,本次事件中,使用了 rollout,react native,weex,JSPatch,bugtags,個(gè)推 ,bugly with hotfix庫(kù)的APP會(huì)被蘋果審核盯上。針對(duì)被警告的開發(fā)者,JSPatch 作者bang發(fā)文給出緩解辦法:“目前來(lái)看,開發(fā)者可以通過(guò)減少使用人數(shù),降低影響面;禁止 SDK 接入;接入保證傳輸安全和只用于修復(fù) bug等方式來(lái)解決,可以的情況下JSPatch可以試圖與蘋果審核團(tuán)隊(duì)協(xié)商!
另外,有開發(fā)者認(rèn)為這是蘋果對(duì)混編的封殺,但據(jù)綜合了解,這只是蘋果新框架的優(yōu)化調(diào)整。蘋果一直注重流暢性和用戶體驗(yàn),混編必然沒有native的流暢,這就違背了蘋果本來(lái)的意愿,被禁也屬正常。而蘋果既然做了警告決定,后續(xù)的生態(tài)它肯定會(huì)自行優(yōu)化。
總結(jié)
綜合來(lái)看,對(duì)蘋果而言,禁止應(yīng)用使用熱更新技術(shù)更多是為了保護(hù)用戶隱私、數(shù)據(jù)安全以及其全力打造的生態(tài)圈。對(duì)于用戶來(lái)說(shuō),出于安全起見,應(yīng)謹(jǐn)慎授予應(yīng)用權(quán)限;對(duì)于開發(fā)者來(lái)說(shuō),為了審核以及長(zhǎng)遠(yuǎn)的用戶體驗(yàn)考慮,不要輕易觸碰蘋果拉的那條紅線,要知道,蘋果是百分百不愿意代碼繞過(guò)審核被下發(fā)的,無(wú)論是修bug,還是一個(gè)小功能。
從更長(zhǎng)遠(yuǎn)的角度看,開發(fā)者需要斟酌的是,下發(fā)代碼這件事是不是真的影響到App運(yùn)行,是否是非做不可的?進(jìn)一步來(lái)看,如果碰觸底線被發(fā)現(xiàn)而面臨Apple ID被封殺,更是得不償失。因此,有開發(fā)者建議:“聰明的人應(yīng)該已經(jīng)在如何提APP穩(wěn)定性的道路上努力了。如果可以忘了HotPatch這件事吧。”
投稿郵箱:chuanbeiol@163.com 詳情請(qǐng)?jiān)L問(wèn)川北在線:http://dstuf.com/