AppHub:繞過(guò)蘋(píng)果審核機(jī)制更新iOS App

為了保證應(yīng)用程序的合法性和安全性,蘋(píng)果公司對(duì)每一款應(yīng)用程序設(shè)定了嚴(yán)格的審查制度。每一個(gè)軟件在發(fā)布之前都會(huì)經(jīng)歷一段時(shí)間的機(jī)器或人工審核階段。這個(gè)時(shí)間短則幾天,多達(dá)數(shù)周。對(duì)于敏捷軟件開(kāi)發(fā)團(tuán)隊(duì)而言,他們經(jīng)常面臨上一個(gè)版本還在審查中,一個(gè)新的版本已經(jīng)完成修改的情況。為了解決如此尷尬的局面,畢業(yè)于 MIT的Matt Arbesfeld聯(lián)合其好友設(shè)計(jì)了AppHub,使得面向iOS系統(tǒng)的React Native應(yīng)用能夠快速更新。接下來(lái),本文就對(duì)AppHub進(jìn)行簡(jiǎn)要介紹。

首先,作為FacebookReact.js Conf 2015會(huì)議上推出的項(xiàng)目,React Native利用開(kāi)源JavaScript庫(kù)和React.js進(jìn)行iOS和Android原生應(yīng)用的開(kāi)發(fā)。其優(yōu)勢(shì)在于提高了代碼和模塊的可重用性,并使得代碼從服務(wù)器端動(dòng)態(tài)更新成為可能。目前,F(xiàn)acebook已經(jīng)將React Native用于生產(chǎn)環(huán)境,并將其進(jìn)行開(kāi)源,代碼依托在GitHub中。

正是基于React Native的諸多特性,AppHub實(shí)現(xiàn)了快速更新React Native應(yīng)用的功能。那么,究竟如何利用AppHub服務(wù)實(shí)現(xiàn)應(yīng)用的快速更新呢?首先,應(yīng)用開(kāi)發(fā)人員需要下載并解壓用于iOS的AppHub SDK,并將其添加到應(yīng)用程序中。具體做法為:把下載的AppHub.framework放入到Xcode項(xiàng)目;選擇“Copy items to destination's group folder”復(fù)選框;在Link Binary With Library的編譯階段添加libz.dylib;把應(yīng)用連接到AppHub。接下來(lái),開(kāi)發(fā)人員就可以不斷的使用dashboard或者REST API把更新發(fā)送到AppHub服務(wù)器中。

在AppHub中,開(kāi)發(fā)人員為每一個(gè)移動(dòng)應(yīng)用程序都創(chuàng)建了一個(gè)App。這個(gè)App擁有唯一的應(yīng)用ID,用來(lái)配置SDK。此外,該App會(huì)保留移動(dòng)應(yīng)用的多個(gè)版本。開(kāi)發(fā)人員利用AppHub的dashboard可以對(duì)這些版本進(jìn)行配置和部署。服務(wù)器自動(dòng)探測(cè)App的配置,把新的代碼替換到到應(yīng)用中,從而實(shí)現(xiàn)客戶端應(yīng)用的自動(dòng)更新。目前,AppHub所支持客戶端操作系統(tǒng)為iOS 8.0+,所支持React Native庫(kù)的版本為v0.7.0+。另外,就開(kāi)發(fā)者所關(guān)心的AppHub是否是否被蘋(píng)果公司所允許這一問(wèn)題,AppHub官網(wǎng)表示,蘋(píng)果公司在開(kāi)發(fā)者協(xié)議里特別允許了這種做法。本質(zhì)上,AppHub應(yīng)用和React Native應(yīng)用基本相同。而React Native應(yīng)用已被證明是可以被蘋(píng)果所接受的。因此,AppHub這種做法肯定也會(huì)被蘋(píng)果公司所接受。

最后編輯于
?著作權(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)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,932評(píng)論 25 709
  • WebSocket-Swift Starscream的使用 WebSocket 是 HTML5 一種新的協(xié)議。它實(shí)...
    香橙柚子閱讀 24,729評(píng)論 8 183
  • 每個(gè)人對(duì)待感情都是千奇百怪的,你喜歡嘗鮮,而我獨(dú)鐘一味。
    5472413f2c10閱讀 251評(píng)論 0 0
  • 原創(chuàng)] 。蝶戀花 ,懷鄉(xiāng) 文/牽著影子去流浪 小憩驚覺(jué)鄉(xiāng)夢(mèng)斷, 極目南望, 更向斜陽(yáng)里。 清磚綠瓦農(nóng)舍院, 歸心已...
    老影子閱讀 237評(píng)論 0 3
  • 我手機(jī)有個(gè)持續(xù)了3年多的鬧鐘設(shè)置,每天22:24分響起。一開(kāi)始時(shí)候,這個(gè)鬧鐘是我的一個(gè)秘密。 2014年我大三,覺(jué)...
    小魚(yú)的水一瓢閱讀 855評(píng)論 0 1

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