iOS App發(fā)展到今天刹衫,越來(lái)越多的 App 需要?jiǎng)討B(tài)部署技術(shù),無(wú)需等待周期不定的蘋(píng)果審核口糕,實(shí)時(shí)修復(fù)線上bug缅阳,對(duì)線上產(chǎn)品有更多控制力,在這樣的需求之下景描,JSPatch的出現(xiàn)十办,對(duì)很多 App 開(kāi)發(fā)都很有誘惑力。
一超棺、JSPath簡(jiǎn)介
JSPatch 是 iOS App 動(dòng)態(tài)更新庫(kù)向族,引入后即可以用 JS 調(diào)用和替換原生任意方法,普遍用于動(dòng)態(tài)下發(fā)腳本實(shí)時(shí)修復(fù)線上 Bug棠绘。JSPatch非常的精巧件相,功能不斷完善。
二氧苍、使用文檔
· Objective-C code轉(zhuǎn)換為JSPatch script工具
三夜矗、開(kāi)放平臺(tái)
JSPatch 需要使用者有一個(gè)后臺(tái)可以下發(fā)和管理腳本,并且需要處理傳輸安全等部署工作让虐,JSPatch 平臺(tái)幫你做了這些事紊撕,提供了腳本后臺(tái)托管,版本管理赡突,保證傳輸安全等功能对扶,讓你無(wú)需搭建一個(gè)后臺(tái)区赵,無(wú)需關(guān)心部署操作,只需引入一個(gè) SDK 即可立即使用 JSPatch浪南。
四笼才、風(fēng)險(xiǎn)
有時(shí)候我們會(huì)擔(dān)心審核風(fēng)險(xiǎn)的問(wèn)題,雖然審核文檔上寫(xiě)著下發(fā) JS 可執(zhí)行代碼是可以接受的络凿。但實(shí)際上蘋(píng)果審核很微妙骡送,iOS 開(kāi)發(fā)者都知道它的審核規(guī)則很難捉摸,不同時(shí)刻都不一樣喷众,有時(shí)候人品占據(jù)很大因素各谚。
實(shí)際上要 APP 完全不能動(dòng)態(tài)化是不可能的紧憾,只要能連接后臺(tái)到千,一個(gè)后臺(tái)標(biāo)識(shí)下發(fā)就能開(kāi)啟和關(guān)閉功能,蘋(píng)果根本不知道赴穗,大量 APP 都是這樣做的憔四。即使沒(méi)有 JSPatch,因?yàn)镺C runtime般眉,APP也可以根據(jù)后臺(tái)下發(fā)的字符串做到動(dòng)態(tài)修改任意方法了赵,只是麻煩點(diǎn)。所以蘋(píng)果對(duì)這塊是沒(méi)有辦法的甸赃,審核規(guī)則也很難制定柿汛,而 JSPatch 本身主要是用來(lái)修復(fù) bug,提高APP質(zhì)量埠对,情理上說(shuō)蘋(píng)果是不會(huì)拒絕的络断。