打造新聞資訊第一網!

幫助中心 廣告聯系

河南電視新聞網

熱門關鍵詞:

蘋果熱更新條款要讓大批應用下架?你可能被騙了!

作者:河南電視新聞網 人氣: 發布時間:2017-06-08
摘要:文/騰訊數碼 蘇揚 日前,有報道稱開發者收到蘋果通知,要求“當前含有熱更新功能的 App,在 6 月 12 日前移除相關代碼,否則這些 App 可能會下架。” 事實上3月份蘋果就曾對部分應用

文/騰訊數碼 蘇揚

日前,有報道稱開發者收到蘋果通知,要求“當前含有熱更新功能的 App,在 6 月 12 日前移除相關代碼,否則這些 App 可能會下架。”

事實上3月份蘋果就曾對部分應用程序的開發者發出了相關通知。

多輪通知足夠反映出蘋果對采用熱更新應用程序潛在安全風險的關注,這也使得外界猜測,蘋果要對熱更新動刀子了,以至于傳出了“王者榮耀、12306等大批使用熱更新機制的游戲和應用不執行就會被下架”的傳聞。

事實真的是這樣嗎?

先做一個科普:什么是熱更新,為何要熱更新。

熱更新簡而言之,服務器在不關閉的情況下,用戶打開應用即可下載安裝更新的代碼運行,這是目前移動游戲更新的主流方式之一。

舉個例子,主流的游戲都會根據不同的節假日做大型的活動運營,這種運營基本都是即時性的,熱更新是滿足這種需求最有效的方式之一,而如果通過提交App Store審核的方式下發更新,考慮到Android和iOS同步,大型游戲可能需要1個月甚至更長的審核周期,這一點蘋果也應該心知肚明。

再說全文重點

熱更新并未被禁止!熱更新并未被禁止!熱更新并未被禁止!

接著來看看蘋果最新通知是怎么說的:

以下是通知原文:

Dear Developer,

In March of this year we notified you that your app contains code designed explicitly with the capability to change your app’s behavior or functionality after App Store Review approval, which is not in compliance with section 3.3.2 of the Apple Developer Program License Agreement and App Store Review Guideline 2.5.2. We requested that you remove any code, frameworks, or SDKs that fall in line with the functionality described above before submitting the next update for your app for review.

As of this message, we have not received a compliant update for your app.

To ensure there is no interruption of the availability of your app, please submit an update by June 12th, 2017. If we do not receive an update by that date, your app may be removed from the App Store.

以下是對應的翻譯:

親愛的開發者

在今年 3 月我們已經發過消息提醒,你的 App 內似乎有一些熱更新(即繞過 App Store 審核的更新)的代碼,這些代碼違反了蘋果開發者協議的 3.3.2 條款與 App Store 審核指南的 2.5.2 條款。以及,我們曾要求你移除所有相關代碼、框架或 SDK,并且重新提交版本。

在這條消息推送時,我們還沒有收到過你進行過相應的調整。

為了確保你的 App 在 App Store 內的正常運行,請在 2017/6/12 之前提交一次更新。如果不做調整的話,你的 App 可能會從 App Store 下架。

圍觀蘋果熱更新政策的正確姿勢

蘋果官方給開發者發出的通知,關鍵就在這句話:我們曾要求你移除所有相關代碼、框架或 SDK,并且重新提交版本。

我們從一位匿名開發者那里找到了這樣的答案:

“不符合2.5.2條款, App包含熱更新代碼,特別提到了dlopen(),dlsym(),respondingToSelector:, performSelector:, method_exchangeImplementations()這些函數,但是蘋果沒有禁用熱更新,只是禁用了幾種熱更新框架和技術,而JSPatch等蘋果不讓使用的原因是,能夠直接修改代碼,可以修改到功能,這樣其實繞過了蘋果的審核,其他的蘋果禁止使用的框架也是如此。”

關于應對措施,這位開發者的方案是這樣,

“后期提交的版本,要么沒有熱更新,要么只能用React Native框架熱更新,其他如JSPatch、RolloutIO、TriggerIO、WAX(Lua)等都不能用”。

也就是說,要求移除相關代碼、框架和SDK只是為了規范開發者的代碼,此舉會沖擊到部分熱更新解決方案,但不等于封殺熱更新,合理采用熱更新機制的產品,不存在也沒理由被下架。

這一點,我們從知乎“如何看待蘋果禁止 JSPatch 等 iOS APP 熱更新方案?”這個話題中,一位來自白鷺時代的開發者王鐸的回答中也找到了相應的答案。

“截止目前為止,我們也沒有收到使用白鷺引擎打包游戲的開發者收到了蘋果警告郵件的消息。”

對于那些受到警告郵件的開發者,王鐸的解釋如下,

“目前為止收到警告郵件的開發者絕大部分使用了 JS-Patch 或 Rollout 類庫,剩下未直接使用這些類庫的開發者,目前初步估計很可能是在集成的第三方SDK 中使用了上述框架。而未采用上述框架的熱更新技術,目前為止并未收到影響。而絕大部分游戲引擎由于并沒有調用這些類庫,也自然沒有受到影響。

所以蘋果確實對于采用熱更新機制提出了嚴格的要求,但如果解讀為禁用封殺熱更新,并不準確。

蘋果為何要這么做?

蘋果禁止濫用熱更新機制,和iOS封閉的做法本質上是一致的,為了應用生態的安全可控和體驗的一致性,畢竟App Store堪稱是蘋果最大的現金牛之一。

數據顯示,到目前為止App Store給開發者的收入分成高達700億美元,去年就達到了200億美元。

市場研究公司Macquarie的分析師Ben Schachter在報告中這樣寫道,“App Store是有史以來最好的商業模式之一,蘋果的投資者不需要依賴于蘋果的創新來驅動該模式的前進。”

任何一個小細節都有可能搞砸App Store這塊大蛋糕,尤其是采用JSPatch熱更新這種蘋果無法把控的應用更新機制。

據了解,今年二月份網絡安全公司Fire Eye發現JSPatch存在安全漏洞,一旦黑客發現和利用這個后門,他們就能夠訪問到設備中的照片、麥克風和剪貼板數據以及其他涉及個人隱私的功能,App Store中有1220款應用程序可能會受此影響。

所以,蘋果有必要對采用這類機制的開發者提出了“移除所有相關代碼、框架或 SDK,并且重新提交版本”的要求。

總結下來,蘋果的禁止了部分熱更新的函數、框架和代碼,但未禁用熱更新機制,所以那些關于王者榮耀、12306等產品被下架的內容,可能是對蘋果開發者條款的誤讀,只能說你被騙了。

精彩視頻推薦

自動播放開關 自動播放

【黑榜】不缺貨? 那你還算國產手機嗎? 正在加載... < >

    正文已結束,您可以按alt+4進行評論

    責任編輯:admin

    河南電視新聞網獨家出品

    新聞由機器選取每5分鐘自動更新

    手機: 郵箱:
    聯系電話: 地址:

    15选5怎么样才算中奖